Redis 缓存

  • Redis 等内存型数据库通常是”非关系型数据库”,以Key-value 的方式来进行存储数据
  • Redis的数据类型

字符串string
哈希hash 这个有点像python里的双层字典的结构
列表list
集合set
有序集合zset

  • Redis安装好后的一些基础操作

Redis-server.exe

redis监控数据表的变化_redis监控数据表的变化

出现这个画面就是启动成功了,但是我们注意到有一行警告Warning: no config file specified, using the default config. In order to specify a config file use redis-server.exe /path/to/redis.conf因为我们没有指定配置文件,redis启用了自己默认的配置文件,但是有可能会对我们后面的一些命令造成影响

先简单的进行一些操作
下面来启动redis的客户端:redis-cli.exe 我们可以使用redis-cli.exe -h 来查看一些redis相关的参数,这里博主选择了几个可能比较常用的参数进行记录

C:\Users\admin>redis-cli.exe -h redis-cli 3.2.100

Usage: redis-cli [OPTIONS] [cmd [arg [arg …]]]
-h Server hostname (default: 127.0.0.1). 这里可以指定服务器
-p Server port (default: 6379).指定端口
-s Server socket(overrides hostname and port).
-a Password to use when connecting to the server. 是否需要密码

也可以直接输入redis-cli.exe 进行启动,会默认启动在6379端口,这个可以通过配置文件进行修改

redis监控数据表的变化_列表_02

字符串类型的操作

做几个基本的操作: 首先我们调用set设置一个键值对

redis监控数据表的变化_列表_03


redis监控数据表的变化_redis_04

这种set-get方法只能针对字符串进行操作

哈希字段类型的操作

redis监控数据表的变化_字符串_05


这里接的key是redis的key,这个field是字段,然后value才是具体的值,这里简单演示一下新建和读取哈希类型字段的操作

redis监控数据表的变化_redis_06


因为哈希字段的格式与一般key-value这种键值对的格式不太一致,所以我这边简单的展示一下哈希类型字段的格式:

-  以 hset article headline redis-use 这个命令为例
{
	key:article,
	value:{
		key:headline,
		value:redis-use
	}
}
 -  差不多是这个情况

所以呢,我们想要获取到redis-use这个值,我们就需要突破两层key,因此哈希获取value的命令是:hget key1 key2 的格式。

列表

redis监控数据表的变化_列表_07


redis监控数据表的变化_字符串_08

# 文字格式展示
127.0.0.1:6379> rpush mylist 11,22,33,44,55
(integer) 1
127.0.0.1:6379> lindex mylist 0
"11,22,33,44,55"

这里由于博主的错误操作,导致本来向输入五个数的却让结果变成只输入了一个字符串
那就顺带引出一些操作吧

# redis 的删除操作  del + key 就可以删除一个创建好的key
127.0.0.1:6379> del mylist
(integer) 1
# 这里注意,redis中列表中间不需要用逗号分开,直接用空格就行了,用逗号会被识别成字符串
127.0.0.1:6379> rpush mylist 1 2 3 4 5 6 ame
(integer) 7
127.0.0.1:6379> lindex mylist 6
"ame"
127.0.0.1:6379> lindex mylist 3
"4"
# 这里还是根据对应的索引值输出mylist中的内容

这里的rpush是right push的意思,从列表的右边进行数据插入,有右边就有左边,因此从左边插入数据的语句为:lpush。我们继续对列表进行一些插入数据的操作。

# 这里是从左边插入
127.0.0.1:6379> lpush mylist 0000
(integer) 8
# 然后我们可以看到 mylist的第一条数据已经改变了 变成了我们新插入的数据
127.0.0.1:6379> lindex mylist 0
"0000"
127.0.0.1:6379>
集合操作

给指定集合增加内容

redis监控数据表的变化_字符串_09

# 这里给集合 myset 插入了三条数据
127.0.0.1:6379> sadd myset 111111
(integer) 1
127.0.0.1:6379> sadd myset 222222
(integer) 1
127.0.0.1:6379> sadd myset 333333
(integer) 1
# 返回集合 myset 中的元素个数 scard + key
127.0.0.1:6379> scard myset
(integer) 3

集合移除元素的操作

redis监控数据表的变化_字符串_10


输出集合所有元素

redis监控数据表的变化_字符串_11

Redis 常用命令

# 切换数据库
select 1
# 切换到数据库1 一般默认是数据库0

# 清空数据库全部内容
flushall
# 清空后无法再读取任何key的值

# 关闭服务器
shutdown

# 查看当前数据库所有key值
keys *

相关演示:

redis监控数据表的变化_redis_12

redis默认有16个数据库,用下标 0-15来代替,默认使用0,可以通过修改配置文件来增加数据库的数量。