Redis 缓存
- Redis 等内存型数据库通常是”非关系型数据库”,以Key-value 的方式来进行存储数据
- Redis的数据类型
字符串string
哈希hash 这个有点像python里的双层字典的结构
列表list
集合set
有序集合zset
- Redis安装好后的一些基础操作
Redis-server.exe
出现这个画面就是启动成功了,但是我们注意到有一行警告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端口,这个可以通过配置文件进行修改
字符串类型的操作
做几个基本的操作: 首先我们调用set设置一个键值对
这种set-get方法只能针对字符串进行操作
哈希字段类型的操作
这里接的key是redis的key,这个field是字段,然后value才是具体的值,这里简单演示一下新建和读取哈希类型字段的操作
因为哈希字段的格式与一般key-value这种键值对的格式不太一致,所以我这边简单的展示一下哈希类型字段的格式:
- 以 hset article headline redis-use 这个命令为例
{
key:article,
value:{
key:headline,
value:redis-use
}
}
- 差不多是这个情况
所以呢,我们想要获取到redis-use
这个值,我们就需要突破两层key,因此哈希获取value的命令是:hget key1 key2
的格式。
列表
# 文字格式展示
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>
集合操作
给指定集合增加内容
# 这里给集合 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 常用命令
# 切换数据库
select 1
# 切换到数据库1 一般默认是数据库0
# 清空数据库全部内容
flushall
# 清空后无法再读取任何key的值
# 关闭服务器
shutdown
# 查看当前数据库所有key值
keys *
相关演示:
redis默认有16个数据库,用下标 0-15来代替,默认使用0,可以通过修改配置文件来增加数据库的数量。