一、redis基本操作
1.启动服务端
redis-server
2.启动客户端
redis-cli
- 默认redis客户端不能正确显示中文,用下面命令可以现实中文
- redis-cli --raw
3.切换数据库
在redis数据库中默认有16个没有名称的数据库,通过0-15标识
例如要切换编号为1的数据库:select 1
4.redis的数据类型
- redis是key-value的数据结构,保存的数据都是按键值对保存
- 键(key)的类型是字符串(string)
- 值(value)的 类型有五种:
- 字符串 string
- 哈希 hash
- 列表 list
- 无序集合 set
- 有序集合 zset
二、string字符串
string字符串是redis最基本的类型
1.增加、修改
1.设置键值:
set key value
- key和value可以用单引号、双引号、没有引号
例:设置键‘k1’的值为‘v1’
set k1 v1
2.设置键值及过期时间,以秒为单位:
setex key seconds value
例:设置键‘k2’的值为‘v2’,过期时间为3秒
setex k2 3 v2
3.设置多个键值对:
mset key1 value1 key2 value2 ...
例:设置键‘k3’值为‘v3’、键‘k4’值为‘v4’、键‘k5’值为‘v5’
mset k3 v3 k4 v4 k5 v5
4.追加值
append key value
例:向键‘k1’追加值‘v01’
append k1 v01
2.获取
1.获取单个值
get key
- 如果不存在返回null
2.获取多个值
mget key1 key2 ...
3.删除
del key1 key2...
三、键命令
1.查找键
keys 键名
- 支持*,keys * 显示所有键
例:查看名称包含m的键
keys *s*
2.判断键是否存在
exists 键名
3.查看键对应的value类型
type 键名
4.设置过期时间
expire 键名 秒数
5.查看键过期时间
ttl 键名
- -1:永远有效
- -2:不存在
四、hash
- hash是键值对集合,键可以理解为字段(field)
1.增加、修改
hset 键 字段 值
hmset 键 字段1 值1 字段2 值2 ...
2.获取
1.获取指定键所有字段
hkeys 键
2.获取一个字段的值
hget 键 字段
3.获取多个字段的值
hmget 键 字段1 字段2 ...
4.获取所有字段的值
hvals 键
5.获取所有字段名包括值
hgetall 键
3.删除
删除字段 删除键都用:del 键
hdel 键 字段名
五、List列表
1.增加
lpush 键 值1 值2 ...:从左侧添加值
rpush 键 值1 值2 ...:从右侧添加值
linsert 键 before/after 指定值 插入的值:在指定值前后插入值
例:在键k1的列表中的cc前面加入一个值bb
insert k1 before cc bb
2.获取
索引:左侧开始第一个索引为0,右侧第一个索引为-1
lrange 键 开始索引 结束索引
3.修改
lset 键 索引位置 值
4.删除
1.删除指定值:
lrem key 数量 值
- 数量=0:删除所有值
- 数量>0:从左侧删
- 数量<0:从右侧删
六、无序集合
集合里值不能重复
1.增加
sadd 键 值1 值2 ...
2.获取
smebers 键
3.删除
srem 键 值
七、有序集合
1.增加
zadd 键 分数1 值1 分数2 值2...
2.获取
zrange 键 开始索引 结束索引 [withscores]
- 有withscores时会将分数也显示
zrangebyscore 键 min max
- 通过score获取值
- min代表score起始值,max代表score结束值
zscore 键 值:返回值的score
3.删除
zrem 键 值
zremrangebyscore 键 min max:通过score删除值