【Redis使用系列】Redis常用操作
一、string类型的常用命令
set key value #一个key对应一个value.多次赋值,会覆盖前面。
setnx key value #如果key存在则创建key1,并返回1,如果key已存在,则不会覆盖,并返回0
setex key time value #创建key设置过期时间为time
ttl key #查看key还有多久过期
mset key1 value1 key2 value2 #同时设置多个值
mget key1 key2 #批量获取key值
del key #删除key
二、hash类型的常用命令
hset hashname key1 value1 #建立一个key为key1,value为value1的hash
hget hashname name #获取name的值
hmset hashname key1 value1 key2 value2 #批量设置键值对
hmget hashname key1 key2 #批量获取key的value
hgetall hashname # 获取所有hashname的key和value
hdel hashname key #删除hashname中的key
hkeys hashname # 列出所有hashname的key值
hvals hashname #列出所有hashname的value值
hlen hashname #查看hashname有几个field
三、list类型的常用命令
lpush listname a b c #从左像listname中添加a b c 三个值
lrange listname 0 -1 #列出listname中的值(无rrange命令)
lpop listname #取出最左侧的值(取出的值相当于被删除)
rpush listname 1 2 3 #从右向listname中添加1 2 3三个值
rpop listname #取最右侧的值(取出的值相当于被删除)
linsert listname before beforevalue value #在beforevalue的前面插入值value
lset listname beforevalue modifyvalue #修改beforevalue的值为modifyvalue
lindex listname value #查看列表中的值(和lpop的区别是查看的值不会被删除)
llen listname #查看列表中的值的个数
四、set类型的常用操作
sadd setname a b c d #向集合中添加元素
smembers setname #查看集合中的元素
srem setname a #删除集合中的元素
spop setname #取出集合中的元素(取出的值将会被删除)
sdiff setname1 setname2 #比较两个集合差值,哪个集合在前就会显示前面这个集合中的在后一个集合中所没有的元素
sdiffstore setname3 setname1 setname2 #将set1与set2的差值存储到set3中
sinter setname1 setname2 #列出set1和set2中相同的元素(求交集)
sinterstore setname3 setname1 setname2 #将交集结果存储到set3中
sunion setname1 setname2 #列出set1和set2并集(set1和set2所有元素)
sunionstore setname3 setname1 setname2 #将并集结果保存到set3中
sismember setname3 fansik #判断set3里是否有fansik,有则返回1,没有则返回0
srandmember setname3 #随机取出set3中的一个元素
五、zset类型的常用命令
zadd zset 1 123 2 234 #创建有序集合
zrange zset 0 -1 #查看有序集合元素,按顺序显示
zrange zset 0 -1 withscores #带分值显示
zrem zset 123 #删除一个元素
zrank zset 555 #返回元素的索引值,索引值从0开始,按score正向排序
zrevrank zset 444 #返回元素的索引值,索引值从0开始,按score反向排序
zcard zset #反馈集合中所有元素的个数
zcount zset 1 10 #返回分值范围内1-10的元素个数
zrangebyscore zset 1 10 #返回分值范围内1-10的元素
zremrangebyrank zset 0 2 #删除索引范围0-2的元素,按score正向排序
zremrangebyscore zset 1 10 #删除分值范围1-10的元素
六、键值和服务器命令
keys * #取出所有key值
keys set* #模糊匹配、
exists list #有list键返回1,否则返回0
del list #删除list键成功返回1,否则返回0
expire set1 10 #修改set1的过期时间为10秒
ttl set1 #查看set1键还有多长时间过期,单位是s,当kset1不存在时,返回-2,当set1存在但是没有设置剩余生存时间,返回-1,否则,返回set1的剩余生存时间
select 1 #选择数据库,默认进入0数据
move set1 2 #把set1移动到2数据库
persist zset #取消zset的过期时间
randomkey #随机返回一个key
rename key4 keyfansik #重命名一个key
type keyfansik #查看一个键的类型
七、服务相关的操作
dbsize #返回当前数据库中键的个数
info #返回redis数据库状态信息
flushdb #清空当前数据库中所有的键
flushall #清空所有数据库中的所有的key
bgsave # 将数据保存到rdb中,在后台运行
save # 间数据保存到rdb中,在前台运行
config get * #获取redis的配置信息
config get bind # 获取监听地址
config get dir # 获取redis的dir配置
config set timeout 1000 # 设置连接超时时间
将config命令改名
在配置文件中添加:
rename-command CONFIG fansik
禁用config命令:
rename-command CONFIG ""
修改配置后需要重启服务