Redis 常用命令

共 17565字,需浏览 36分钟

 ·

2023-08-18 09:46


      
Redis:


string


存储单个数据,一个存储空间对应一个数据


操作返回结果提示:1成功,0失败


字符串最大存储:512M


字符数值计算范围(Java中的long的最大值):- ~9223372036854775807



key 命名方式建议:


表名:主键名:主键值:字段名









set key value


说明:


设置一个键和值



get key


说明:


获取指定键的值



del key


说明:


删除指定键



mset key1 value1 key2 value2 ...


说明:


设置多个键和值



mget key1 key2 ...


说明:


获取指定多个键的值



strlen key


说明:


获取指定键的值的长度



append key value


说明:


往指定的键中的值之后追加数据。键为未存在则新建键值对,存在则往指定的键中追加



返回:追加后的值的长度



incr key


说明:


将指定键的值加1


注意:


该值必须为能转成数字的字符,例如:1,2,3这种字符。



decr key


说明:


将指定键的值减1


注意:


该值必须为能转成数字的字符,例如:1,2,3这种字符。



incrby key increment


说明:


将指定键的值加上指定的整数incrementincrement为负数时效果为减


注意:


该值必须为能转成整数的字符,例如:-1,2,3这种字符。



decrby key increment


说明:


将指定键的值减去指定的整数incrementincrement为负整数时效果为加


注意:


该值必须为能转成整数的字符,例如:1,2,-3这种字符。



incrbyfloat key increment


说明:


将指定键的值加上指定的浮点数incrementincrement为负数时效果为加


注意:


该值必须为能转成数字的字符,例如:1.2,2.0,-0.3这种字符。



setex key sceonds value


说明:


将指定键值设置过期时间(单位:秒),时间到后值被清空,键仍然存在。


注意:在未过期时重新设置该键的值,则该值不存在过期时间。



setex key millisceonds value


说明:


将指定键值设置过期时间(单位:毫秒),时间到后值被清空,键仍然存在。


注意:在未过期时重新设置该键的值,则该值不存在过期时间。








set和mset对比:


指令执行过程:


1.服务器发送指令到redis需要的时间为T1


2.redis处理指令时间为 T2


3.redis处理完毕返回服务器的时间为T3


例如:


同时执行三条指令(数据量越多越明显):


set时间:(T1+T2+T3)*3


mset时间:T1+T2+T3




hash P14


一个存储空间保存多个键值对数据,底层使用hash存储结构



hash类型value中只能存字符串


每个hash能存232次方-1个键值对




hset key field value


说明:


1.将指定的键中添加字段和字段对应的值


2.将指定的键中修改字段和字段对应的值



hget key field


说明:


获取指定的键中字段对应的值



hgetall key


说明:


获取指定的键中所有的字段和字段值



注意:键中的字段多时,会影响效率。



hdel key field1 [field2 field3]


说明:


删除指定的一个或多个键中的字段和字段值



hmset key field1 value1 field2 value2 ...


说明:


设置或修改指定键的一个或多个字段和字段值



hmget key field1 field2...


说明:


获取指定键的一个或多个字段对应的值



hlen key


说明:


获取指定键中的字段数量



hexists key field


说明:


判断指定的键中是否存在指定的字段



hkeys key


说明:


获取指定的键中的所有字段名



hvals key


说明:


获取指定的键中的所有字段对应的值



hincrby key field increment


说明:


将指定键中的字段对应的字段值加上指定的整数incrementincrement为负数时效果为加


注意:


该值必须为能转成数字的字符,例如:1,2,-3这种字符。



hincrbyfloat key field increment


说明:


将指定键中的字段对应的字段值加上指定的浮点数incrementincrement为负数时效果为加


注意:


该值必须为能转成数字的字符,例如:1.2,2.0,-0.3这种字符。



hsetnx key field value


说明:


在指定键中设置指定字段和字段值


注意:


若操作的字段已经存在于此键中,则操作失败,否则成功



list


存储多个数据,存储空间顺序进行区分,一个存储空间存多个数据,底层采用双线链表存储结构实现。


list保存的数据都是字符串,容量为232次方-1


具有索引概念,通常以队列或栈的方式操作。



lpush key value1 [value2,value3,..]


说明:


向指定的键中添加数据


注意:


此方式定义的数据从左边进入



rpush key value1 [value2,value3,..]


说明:


向指定的键中添加数据


注意:


此方式定义的数据从右边进入



lrange key start stop


说明:


在指定键中查找值


注意:


start为开始下标(0开始);stop结束下标,负数为倒数第几个



lindex key index


说明:


获取指定键中的下标值


注意:


index为负数时表示倒数



llen key


说明:


在指定键中的值长度







lpop key


说明:


在指定键中取出值


注意:


左边出



rpop key


说明:


在指定键中取出值


注意:


右边出



blpop key [key2 ...] timeout


说明:


在指定时间内取出键中的值


注意:


左边出,此方式具有阻塞效果,可从多个列表中取值



brpop key [key2 ...] timeout


说明:


在指定时间内取出键中的值


注意:


右边出,此方式具有阻塞效果,可从多个列表中取值



lrem key count value


说明:


移除指定数据,可从中间移除 count:为移除个数 value移除的值



set


存储大象数据,提高查询速度。


存储结构与hash相同,仅存键,不存值,因此,存的数据不能重复,重复则覆盖。



不允许重复元素



sadd key member [member2,member3...]


说明:


添加指定的键值



smembers key


说明:


取出键中的值



srem key member [member2,member3...]


说明:


移除键中的值



scard key


说明:


获取键中的值的总数



sismember key member


说明:


判断指定的键中是否存在指定值



srandmember key [count]


说明:


随机取出集合中指定数量的数据,元数据不变



spop key


说明:


随机取出集合中指定数量的数据,并将取出的数据移出集合



sinter key1 [key2...]


说明:


获取指定键中的交集



sunion key1 [key2...]


说明:


获取指定键中的并集,去除重复



sdiff key1 [key2...]


说明:


获取指定键中的差集



sinterstore destination key1 [key2 ... ]


说明:


获取指定键中的交集存储到指定的集合中,destination为新集合名称



sunionstore destination key1 [key2 ... ]


说明:


获取指定键中的并集存储到指定的集合中,destination为新集合名称



sdiffstore destination key1 [key2 ... ]


说明:


获取指定键中的差集存储到指定的集合中,destination为新集合名称



smove source destination member


说明:


移动指定集合中的元素到指定目标集合中,source为原目标集合,destination移动到的目标集合,member移动的元素



sorted_set


Set的存储结构上添加可排序的字段


score对正数的范围是:-900719925474099~900719925474099


score保存的数据也可以是double值,但有可能出现精度丢失


底层基于set结构,数据不能重复,重复则覆盖,保留最后一次修改的数据




zadd key score1 member1 [score2 member2 ...]


说明:


向指定的键中添加数据。 score1排序的字段 member1值



zrange key start stop [withscores]


说明:


正向获取指定的键中数据.



zrevrange key start stop [withscores]


说明:


反向获取指定的键中数据.




zrem key member [member ...]


说明:


删除数据



zrangebyscore key min max [withscores] [limit]


说明:


按条件顺序获取数据,limit与mysql的用法一致



zrevrangebyscore key min max [withscores]


说明:


按条件倒序获取数据



zremrangebyrank key start stop


说明:


按索引删除数据



zremrangebyscore key min max


说明:


按条件删除数据



zrank key member


说明:


获取数据顺序对应的索引(排名),从小到大



zrevrank key member


说明:


获取数据倒序对应的索引(排名),从大到小



zscore key member


说明:


对score排序值的获取



zincrby key increment member


说明:


对score排序值的修改 increment正数为添加,负数为减少 member为字段




通用命令:


time


说明:


redis提供的时间命令



del key


说明:


删除指定的key



exists key


说明:


判断key是否存在



type key


说明:


获取key的类型



expire key seconds


说明:


设置key的过期时间,单位秒



pexoire key milliseconds


说明:


设置key的过期时间,单位毫秒



expireat key timestamp


说明:


设置key的过期时间,时间戳



pexpireat key milliseconds-timestamp


说明:


设置key的过期时间,毫秒时间戳



ttl key


说明:


获取key的有效期



pttl key


说明:


获取key的有效期



persist key


说明:


key设置成永久性



keys parttern


说明:


查询key


parttern 查询的规则


* 任意数量任意符号


?匹配一个任意符号


[] 匹配一个指定的符号



rename key newkey


说明:


更改key名称,重名则覆盖原key



renamenx key newkey


说明:


更改key名称,重名则失败



sort


说明:


对所有key进行排序



help @generic


说明:


查看其他通用操作




redis数据库


redis提供16个数据库 编号0-15



select index


说明:


切换数据库, index编号0-15



quit


说明:


退出


ping


说明:


测试redis-server服务器是否连通



echo message


说明:


打印信息



move key db


说明:


将键移动到其他数据库,移动对象必须存在



dbsize


说明:


查看当前操作数据库中的键的数量



flushdb


说明:


清除当前操作数据库的所有数据







flushall


说明:


清除所有数据库的所有数据





















浏览 47
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报