redis常用命令整理
一、key相关:
(1)redis允许模糊查询key(keys*)有3个通配符*、?、[]
(2)randomkey:返回随机key
(3)typekey:返回key存储的类型
(4)existskey:判断某个key是否存在
(5)delkey:删除key
FLUSHALL:删除所有key(慎用)
二、数据操作:
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sortedset:有序集合)。
1、string(字符串)
一个key对应一个value。一个键最大能存储512MB。string类型是二进制安全的。
(1)setkeyvalue[ex秒数][px毫秒数][nx/xx]
如果ex和px同时写,则以后面的有效期为准
nx:如果key不存在则建立
xx:如果key存在则修改其值
(2)getkey:取值
(3)msetkey1value1key2value2一次设置多个值
(4)mgetkey1key2:一次获取多个值
(5)setrangekeyoffsetvalue:把字符串的offset偏移字节改成value
如果偏移量>字符串长度,该字符自动补0x00
(6)appendkeyvalue:把value追加到key的原值上
(7)getrangekeystartstop:获取字符串中[start,stop]范围的值
对于字符串的下标,左数从0开始,右数从-1开始
注意:
当start>length,则返回空字符串
当stop>=length,则截取至字符串尾
如果start所处位置在stop右边,则返回空字符串
(8)getsetkeynrevalue:获取并返回旧值,在设置新值
2、hash(哈希)
Redishash是一个string类型的field和value的映射表,hash特别适合用于存储对象。每个hash可以存储232-1键值对(40多亿)。
(1)hsetmyhashfieldvalue:设置myhash的field为value
(2)hsetnxmyhashfieldvalue:不存在的情况下设置myhash的field为value
(3)hmsetmyhashfield1value1field2value2:同时设置多个field
(4)hgetmyhashfield:获取指定的hashfield
(5)hmgetmyhashfield1field2:一次获取多个field
(6)hincrbymyhashfield5:指定的hashfield加上给定的值
(7)hexistsmyhashfield:测试指定的field是否存在
(8)hlenmyhash:返回hash的field数量
(9)hdelmyhashfield:删除指定的field
(10)hkeysmyhash:返回hash所有的field
(11)hvalsmyhash:返回hash所有的value
(12)hgetallmyhash:获取某个hash中全部的field及value
3、list(列表)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。列表最多可存储232-1元素(4294967295,每个列表可存储40多亿)。
(1)lpushkeyvalue:把值插入到链表头部
(2)rpushkeyvalue:把值插入到链表尾部
(3)lpopkey:返回并删除链表头部元素
(4)rpopkey:返回并删除链表尾部元素
(5)lrangekeystartstop:返回链表中[start,stop]中的元素
(6)lremkeycountvalue:从链表中删除value值,删除count的绝对值个value后结束
count>0从表头删除
count<0从表尾删除
count=0全部删除
(7)ltrimkeystartstop:剪切key对应的链接,切[start,stop]一段并把改制重新赋给key
(8)lindexkeyindex:返回index索引上的值
4、set(集合)
Redis的Set是string类型的无序集合。值不重复。
(1)saddkeyvalue1value2:往集合里面添加元素
(2)smemberskey:获取集合所有的元素
(3)sremkeyvalue:删除集合某个元素
(4)spopkey:返回并删除集合中1个随机元素(可以坐抽奖,不会重复抽到某人)
(5)srandmemberkey:随机取一个元素
(6)sismemberkeyvalue:判断集合是否有某个值
(7)scardkey:返回集合元素的个数
(8)smovesourcedestvalue:把source的value移动到dest集合中
(9)sinterkey1key2key3:求key1key2key3的交集
(10)sunionkey1key2:求key1key2的并集
(11)sdiffkey1key2:求key1key2的差集
(12)sinterstorereskey1key2:求key1key2的交集并存在res里
5、zset(sortedset:有序集合)
Rediszset和set一样也是string类型元素的集合。且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
(1)zaddkeyscore1value1:添加元素
(2)zrangekeystartstop[withscore]:把集合排序后,返回名次[start,stop]的元素
默认是升续排列withscores是把score也打印出来
(3)zrankkeymember:查询member的排名(升序0名开始)
(4)zrangebyscorekeyminmax[withscores]limitoffsetN:集合(升序)
排序后取score在[min,max]内的元素,并跳过offset个,取出N个
(5)zrevrankkeymember:查询member排名(降序0名开始)
(6)zremrangebyscorekeyminmax:按照score来删除元素,删除score在[min,max]之间
(7)zremkeyvalue1value2:删除集合中的元素
(8)zremrangebyrankkeystartend:按排名删除元素,删除名次在[start,end]之间的
(9)zcardkey:返回集合元素的个数
(10)zcountkeyminmax:返回[min,max]区间内元素数量
到此这篇关于redis常用命令整理的文章就介绍到这了,更多相关redis常用命令介绍内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。