Redis 常用命令

张小三呀

共 17565字,需浏览 36分钟

 · 2023-08-18

      
        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 说明: 清除所有数据库的所有数据



浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

举报