Redis基本操作
一、基本命令
1.set、get
set:设置key对应的value
格式:set key value
get:获取key对应的value(如果没有设置则为nil)
格式:get key
# set key value
set name yimt
# get key
get name
# "yimt"
2.mset
同时设置多个key value
格式:mset key value [key value …]
mset name yimt age 22
# 获取设置的值
get name
# "yimt"
get age
# "22"
3.mget
同时获取多个key value
格式:mget key [key …]
mset name yimt age 22
# 获取多个value
mget name age
# "yimt"
# "22"
4.setex
设置key对应的value在一段时间过后失效
格式:setex key seconds value
setex name 10 yimt
# 立即查询结果
get name
# "yimt"
# 10秒之后查询结果
get name
# (nil)
5.expire
设置键过期时间
格式:expire key seconds
# 设置name键在10秒过后失效
expire name 10
6.ttl
查看键剩余多长时间有效
格式:ttl key
返回值:
- -1:不过期
- -2:不存在键
- 其他:剩余过期时间
7.append
追加字符串
格式:append key value
注意:如果追加的key不存在则相当于set key value
# 设置key对应value
set name yimt
# 获取key对应value
get name
# "yimt"
# 往指定key追加数据
append name 123
# 获取key对应value
get name
# "yimt123"
8.del
删除键,返回删除成功数量
格式:del key [key …]
# 删除name键
del name
# 1
9.keys
查看键支持正则
格式:keys pattern
# 查看所有的键
keys *
10.exists
查看数据库是否存在键,返回存在的数量
exists key [key …]
# 查看是否存在键name
exists name
# 1
11.type
查看键类型
格式:type key
# 查看name键类型
type name
# string
二、哈希
1.hset
设置哈希键值
格式:hset key field value
hset h1 name yimt
2.hget
获取哈希键值
格式:hget key field
hget h1 name
# "yimt"
3.hmset
批量设置哈希字段值
格式:hmset key value [key value …]
hmset h1 name yimt age 22
4.hmget
批量获取哈希字段值
格式:hmget key field [feild …]
hmget h1 name age
5.hkeys
查看指定键的所有字段
格式:hkeys key
hkeys h1
# 1) "name"
# 2) "age"
6.hvals
查看指定键的所有字段的值
格式:hvals h1
hvals h1
# 1) "yimt"
# 2) "22"
三、list
1.lpush
从左边添加数据到list
格式:lpush key value [value …]
lpush l1 1 2 3
2.rpush
从右边添加数据到list
格式:rpush key value [value …]
3.lrange
遍历指定范围数据
格式:lrange key start stop
注意:stop等于-1时表示从start开始到结束全部访问
lrange l1 0 2
# 1) "3"
# 2) "2"
# 3) "1"
4.lrem
从左往右删除指定数据的指定值
格式:lrem key count value
key:指定哪个list
count:删除的数量,如果为-1表示从右往左删除,如果为0表是匹配的全部删除
value:删除的值
# 从左往右删除第1个出现的"1"数据
lrem l1 1 1
# 从右往左删除第1个出现的"1"数据
lrem l1 -1 1
# 删除所有值为"1"的数据
lrem l1 0 1
5.linsert
插入数据
格式:linsert key before|after pivot value
# 在"3"之前插入"4"
linsert l1 before 3 4
# 查看结果
lrange l1 0 -1
# 1) "4"
# 2) "3"
# 3) "2"
# 4) "1"
# 如果插入位置的值不存在,会插入失败
# 如:
linsert l1 before 5 6
# (integer) -1
四、set
- 自动去重
- 无序
1.sadd
添加到集合
格式:sadd key member [member …]
sadd s1 1 2 3
2.smembers
查看集合成员
格式:smemebers key
smembers
# 1) "1"
# 2) "2"
# 3) "3"
3.srem
删除格式元素
格式:srem key member [member …]
# 删除"1"
srem key 1
五、sorted set
1.zadd
添加数据
格式:zadd key [NX|XX] [CH] [INCR] score member [score member …]
# 添加1权重1、添加2权重2、添加3权重3
zadd z1 1 1 2 2 3 3
2.zrange
获取当中数据,使用方法同list lrange
格式:zrange key start stop [WITHSCORES]
# 获取从0开始到结束的数据
zrange z1 0 -1
3.zrangebyscore
通过权重获取
格式:zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
# 访问权重在2-3中的数据
zrangebyscore z1 2 3
# 1) "2"
# 2) "3"
4.zscore
获取指定成员权重
格式:zscore key member
# 获取"1"权重
zscore z1 1
# "1"
5.zrem
删除指定成员
格式:zrem key member [member …]
# 删除z1中"3"的数据
zrem z1 3
6.zremrangebyscore
删除指定权重的成员
格式:zremrangebyscore key min max
# 删除权重在1-2中数据
zremrangebyscore z1 1 2
来源:CSDN
作者:yimt
链接:https://blog.csdn.net/YIMT_F/article/details/104049475