当前位置:主页 > 查看内容

Redis常用命令

发布时间:2021-07-12 00:00| 位朋友查看

简介:Redis基础命令 查看服务器运行状态ping 查看服务器他的统计信息info [section]section的值server , clients memory等等 切换库命令select index默认16个库从0开始 Redis中key的操作命令 查看当前数据库中key的数目dbsize 查看当前数据库中有哪些keykeys * 清……

Redis基础命令

  1. 查看服务器运行状态:ping
  2. 查看服务器他的统计信息:info [section],section的值:server , clients ,memory等等
  3. 切换库命令:select index(默认16个库,从0开始)

Redis中key的操作命令

  1. 查看当前数据库中key的数目:dbsize
  2. 查看当前数据库中有哪些key:keys *
  3. 清空当前/所有库:flushdb/flushall
  4. 获取redis的所有配置项:config get *
  5. 查找符合条件的key:key */wo?d/wo[or]d
  6. 判断key是否存在:exists key1 key2。存在返回1,不存在返回0,多个key返回存在的数量
  7. 移动key到指定的数据库,移动的key在原库中删除,移动成功返回1,失败为0:move key dbIndex
  8. 查看key的剩余生存时间,以秒为单位,返回-1为永不过期,-2为不存在:ttl key
  9. 设置key的生存时间,超过时间key自动删除,单位是秒,成功返回1,失败为0:expire key seconds
  10. 查看key所存储值的数据类型:type key
  11. 给key改名字,当key和newkey相同,或者newkey不存在时返回一个错误:rename key newkey
  12. 删除存在的key,不存在的将被忽略,返回删除key的数量:del key1 key2

Redis中五种数据类型结构

字符串类型:String

简介
1.redis中最基本的数据结构,能存储任何类型的数据,甚至是图片,最大512M
2.字符串类型的数据操作总的思想是通过key操作value,key是数据标识,value是我们感兴趣的业务数据

常用操作命令

  1. 将字符串值 value 设置到 key 中,如果key已存在,后放的值会把前放的值覆盖掉:set key value
  2. 获取 key 中设置的字符串值,key存在,返回key对应的value;key不存在,返回nil:get key
  3. 如果 key 存在,则将 value 追加到 key 原来旧值的末尾, 如果 key 不存在,则将key 设置值为 value,返回值:追加字符串之后的总长度(字符个数):append key value
  4. 返回 key 所储存的字符串值的长度:strlen key
  5. 将 key 中储存的数字值加1,如果 key 不存在,则 key 的值先被初始化为 0 再执行incr操作:incr key
  6. 将 key 中储存的数字值减1,如果 key 不存在,则么 key 的值先被初始化为 0 再执行 decr 操作:decr key
  7. 将 key 所储存的值加上增量值,如果 key 不存在,则 key 的值先被初始化为 0 再执行 INCRBY 命令:incrby key offset
  8. 将 key 所储存的值减去减量值,如果 key 不存在,则 key 的值先被初始化为 0 再执行 DECRBY 命令:decrby key offset
  9. 获取 key 中字符串值从 startIndex 开始到 endIndex 结束的子字符串,包括startIndex和endIndex, 负数表示从字符串的末尾开始,-1 表示最后一个字符:getrange key startindex endindex
  10. 用value覆盖key的存储的值从offset开始,返回值为修改后的字符串的长度:setrange key offsetIndex value
  11. 设置key的值,并将 key 的生存时间设为 seconds (以秒为单位) ,如果key已经存在,将覆盖旧值。返回值:设置成功,返回OK:setex key seconds value
  12. setnx 是 set if not exists 的简写,如果key不存在,则 set 值,存在则不设置值。成功返回1:setnx key value
  13. 同时设置一个或多个 key-value 对:mset key1 value1 key2 value2
  14. 获取所有(一个或多个)给定 key 的值返回值:包含所有key的列表,如果key不存在,则返回nil:mget key1 key2
  15. 同时设置一个或多个 key-value 对,如果有一个key是存在的,则设置不成功:msetex key1 value1 key2 value2

列表:List

简介

  1. Redis列表是简单的字符串列表,按照插入顺序排序,左边(头部)、右边(尾部)或者中间都可以添加元素。底层是个链表结构,链表的操作无论是头或者尾效率都极高,但是如果对中间元素进行操作,那效率会大大降低了。
  2. 列表类型的数据操作总的思想是通过key和下标操作value,key是数据标识,下标是数据在列表中的位置,value是我们感兴趣的业务数据

常用操作命令

  1. 将一个或多个值 value 插入到列表 key 的最左边(表头),各个value值依次插入到表头位置。返回值:插入之后的列表的长度:lpush key value1 value2[value…]
  2. 将一个或多个值 value 插入到列表 key 的最右边(表尾),各个 value 值按依次插入到表尾。返回值:插入之后的列表的长度:rpush key value[value…]
  3. 获取列表 key 中指定下标区间内的元素,下标从0开始,到列表长度-1;下标也可以是负数,表示列表从后往前取,-1表示倒数第一个元素,-2表示倒数第二个元素,以此类推;startIndex和endIndex超出范围不会报错。
    返回值:获取到的元素列表:lrange key startIndex endIndex
  4. 移除并返回列表key头部第一个元素,即列表左侧的第一个元素。
    返回值:列表左侧第一个元素的值;列表key不存在,返回nil:lpop key
  5. 移除并返回列表key尾部第一个元素,即列表右侧的第一个元素。
    返回值:列表右侧第一个元素的值;列表key不存在,返回nil:rpop key
  6. 获取列表 key 中下标为指定 index 的元素,列表元素不删除,只是查询。0 表示列表的第一个元素,1 表示列表的第二个元素;index也可以负数的下标, -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推:lindex key index
  7. 获取列表 key 的长度,返回值:数值,列表的长度;key不存在返回0:llen key
  8. 根据参数 count 的值,移除列表中与参数 value 相等的元素,count >0 ,从列表的左侧向右开始移除;count < 0 从列表的尾部开始移除;count = 0移除表中所有与 value 相等的值,返回值为移除元素的个数:lrem key count value
  9. 截取key的指定下标区间的元素,并且赋值给key。下标从0开始,一直到列表长度-1;下标也可以是负数,表示列表从后往前取,-1表示倒数第一个元素,-2表示倒数第二个元素,以此类推;startIndex和endIndex超出范围不会报错
  10. 将列表 key 下标为 index 的元素的值设置为 value。功能:设置成功返回ok ; key不存在或者index超出范围返回错误信息:lset key index value
  11. 将值 value 插入到列表 key 当中位于值 pivot 之前或之后的位置。key不存在或者pivot不在列表中,不执行任何操作。返回值:命令执行成功,返回新列表的长度。没有找到pivot返回 -1, key不存在返回0:linsert key before/after pivot value

集合类型:Set

简介

  1. Redis的Set是string类型的无序不重复集合
  2. 集合类型的数据操作总的思想是通过key确定集合,key是集合标识,元素没有下标,只有直接操作业务数据和数据的个数

常用操作命令

  1. 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略,不会再加入。返回值:加入到集合的新元素的个数(不包括被忽略的元素):sadd key member[member…]
  2. 获取集合 key 中的所有成员元素,不存在的key视为空集合。返回值:返回指定集合的所有元素集合,不存在的key,返回空集合:smembers key
  3. 判断 member 元素是否是集合 key 的元素:sismember key member
  4. 获取集合里面的元素个数返回值:数字,key的元素个数。其他情况返回 0:scard key
  5. 移除集合中一个或多个元素,不存在的元素被忽略:srem key member [member…]
  6. 只提供key,随机返回集合中一个元素,元素不删除,依然在集合中;提供了count时,count 正数, 返回包含count个数元素的集合,集合元素各不重复。count是负数,返回一个count绝对值的长度的集合,集合中元素可能会重复多次:srandmember key[count]
  7. 随机从集合中删除一个或count个元素。返回值:被删除的元素,key不存在或空集合返回nil:spop key[count]
  8. 将 member 元素从src集合移动到dest集合,member不存在,smove不执行操作,返回0,如果dest存在member,则仅从src中删除member:smove src dest member
  9. 返回指定集合的差集,以第一个集合为准进行比较,即第一个集合中有但在其它任何集合中都没有的元素组成的集合。返回值:返回第一个集合中有而后边集合中都没有的元素组成的集合,如果第一个集合中的元素在后边集合中都有则返回空集合:sdiff key key [key…]
  10. 返回指定集合的交集,即指定的所有集合中都有的元素组成的集合。
    返回值:交集元素组成的集合,如果没有则返回空集合:sinter key key [key…]
  11. 返回指定集合的并集,即指定的所有集合元素组成的大集合,如果元素有重复,则保留一个。返回值:返回所有集合元素组成的大集合,如果所有key都不存在,返回空集合:sunion key key [key…]

哈希类型:Hash

简介

  1. Redis的hash 是一个string类型的key和value的映射表,这里的value是一系列的键值对,hash特别适合用于存储对象
  2. 哈希类型的数据操作总的思想是通过key和field操作value,key是数据标识,field是域,value是我们感
    兴趣的业务数据

常用命令

  1. 将键值对field-value设置到哈希列表key中,如果key不存在,则新建哈希列表,然后执行赋值,如果key下的field已经存在,则value值覆盖:hset key field value [field value …]
  2. 获取哈希表 key 中给定域 field 的值:hget key field
  3. 同时将多个 field-value (域-值)设置到哈希表 key 中,此命令会覆盖已经存在的field,hash表key不存在,创建空的hash表,再执行hmset:hmset key field value [field value…]
  4. 获取哈希表 key 中一个或多个给定域的值,返回值:返回和field顺序对应的值,如果field不存在,返回nil:hmget key field [field…]
  5. 获取哈希表 key 中所有的域和值,返回值:以列表形式返回hash中域和域的值,key不存在,返回空hash:hgetall key
  6. 删除哈希表 key 中的一个或多个指定域field,不存在field直接忽略:hdel key field [field…]
  7. 获取哈希表 key 中域field的个数:hlen key
  8. 查看哈希表 key 中,给定域 field 是否存在:hexists key field
  9. 查看哈希表 key 中的所有field域列表:hkeys key
  10. 返回哈希表 中所有域的值列表:hvals key
  11. 给哈希表key中的field域增加int,返回值:返回增加之后的field域的值:hincrby key field int
  12. 给哈希表key中的field域增加float:hincrbyfloat key field float
  13. 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在的时候才设置,否则不设置:hsetnx key field value

有序集合:Zset

简介

  1. Redis 有序集合zset和集合set一样也是string类型元素的集合,且不允许重复的成员
  2. 不同的是zset的每个元素都会关联一个分数(分数可以重复),redis通过分数来为集合中的成员进行从小到大的排序。

常用命令

  1. 将一个或多个 member 元素及其 score 值加入到有序集合 key 中,如果member存在集合中,则覆盖原来的值;score可以是整数或浮点数:zadd key score member [score member…]

  2. 查询有序集合,指定区间的内的元素。集合成员按score值从小到大来排序;startIndex和endIndex都是从0开始表示第一个元素,1表示第二个元素,以此类推; startIndex和endIndex都可以取负数,表示从后往前取,-1表示倒数第一个元素;WITHSCORES选项让score和value一同返回:zrange key startIndex endIndex [WITHSCORES]

  3. 获取有序集 key 中,所有 score 值介于 min 和 max 之间(包括min和max)的成员,有序成员是按递增(从小到大)排序;
    使用符号”(“ 表示包括min但不包括max;
    withscores 显示score和 value;
    limit用来限制返回结果的数量和区间,在结果集中从第offset个开始,取count个
    语法:zrangebyscore key min max [WITHSCORES ] [LIMIT offset count]

  4. 删除有序集合 key 中的一个或多个成员,不存在的成员被忽略:zrem key member [member…]

  5. 获取有序集 key 的元素成员的个数:zcard key

  6. 返回有序集 key 中, score 值在 min 和 max 之间(包括 score 值等于 min 或 max )的成员的数量:zcount key min max

  7. 获取有序集 key 中成员 member 的排名,有序集成员按 score 值从小到大顺序排列,从0开始排名,score最小的是0 :zrank key member

  8. 获取有序集合key中元素member的分数:zscore key member

  9. 获取有序集 key 中成员 member 的排名,有序集成员按 score 值从大到小顺序排列,从0开始排名,score最大的是0 :zrevrank key member

  10. 查询有序集合,指定区间的内的元素。集合成员按score值从大到小来排序;startIndex和endIndex都是从0开始表示第一个元素,1表示第二个元素,以此类推;startIndex和endIndex都可以取负数,表示从后往前取,-1表示倒数第一个元素;WITHSCORES选项让score和value一同返回:zrevrange
    key startIndex endIndex [WITHSCORES]

  11. 获取有序集 key 中,所有 score 值介于 max 和 min 之间(包括max和min)的成员,有序成员是按递减(从大到小)排序;
    使用符号”(“ 表示不包括min和max;
    withscores 显示score和 value;
    limit用来限制返回结果的数量和区间,在结果集中从第offset个开始,取count个
    语法:zrevrangebyscore key max min [WITHSCORES ] [LIMIT offset count]

;原文链接:https://blog.csdn.net/qq_44993202/article/details/115681781
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:关于MySQL索引的相关总结 下一篇:没有了

推荐图文


随机推荐