Redis-常用指令
Redis-常用指令
一、key的常用指令
- del key1 key2 删除一个或多个key值
- rename key newkey 给原有的key换一个新名字
- move key
- set key value 新增一个key和对应的value值
- get key 根据key获取对应的value值
- select index 切换key存储的仓库号。默认redis将存储key的内存分为16个仓库分别从0到15。
- keys s* (查询以s开头的所有key值)模糊查询redis中存储的key
- randomkey 随机返回一个key
- exists key 输入某一个键,返回这个键是否存在
- type key 查看某个key值的类型
- expire key 6 设置key值有效期为6秒
- ttl key 查看该key的有效期
二、字符串操作
- mset key value key value.... 设置多个key值和对应的value值
- mget key1 key2 同时获取多个key的值
- setrange key offset value 改变key对应的value值。(setrange str 3 s 表示把str对应的value值向后偏移第四个位置改的值为s)
- append key value 把value值追加到value原有值的后面
- incr key 制定的key值加1,并返回加1后的值
三、list链表结构
- lpush key value 把值插入到key对应value值的头部
- rpush key value 把值插入到key对应value值的尾部
- lrange key start stop 返回链表中value某个范围的值。
- lpop key 弹出value值最左边的值
- rpop key 弹出value值最右边的值
- LREM KEY_NAME COUNT VALUE 删除 key对应的n个相同的value值(lrem mylist 2 hi)
- LREM KEY_NAME COUNT VALUE (lrem mylist -1 hi)表示索引从右边开始删除1个hi字符串
- lindex key index (lindex mylist 2)根据索引值查询对应的value值
- llen key 计算这个列表的长度
四、set集合
- Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
- Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
- 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
- sadd key member1 member2 向集合添加一个或多个成员
- smembers key 返回集合中的所有成员
- srandmember key [count] 返回集合中一个或多个随机数
- scardkey 获取集合的成员数
- spop key 移除集合中的一个随机元素
- sismemberkey member 判断 某个 元素是否是集合 key 的成员
- sinterkey1 [key2] 返回给定所有集合的交集
- sunion key1 [key2] 返回所有给定集合的并集
- sdiff key1 [key2] 返回给定所有集合的差集
五、有序集合
- zadd key score member score member (zadd myset 1 hello 2 nihao) 向有序集合添加成员,同时设置成员的序号
-
ZCARD KEY_NAME Redis Zcard 命令用于计算集合中元素的数量。
- ZCOUNT key min max Redis Zcount 命令用于计算有序集合中指定分数区间的成员数量。
- ZRANGE key start stop [WITHSCORES] 返回有序集中,指定区间内的成员。(其中成员的位置按分数值递增(从小到大)来排序。)
- ZRANK key member 如果成员是有序集 key 的成员,返回 member 的排名
- ZREM key member 用于移除有序集中的一个或多个成员,不存在的成员将被忽略。
- ZSCORE key member 返回有序集中,成员的分数值。
- ZSCAN key cursor 迭代有序集合中的元素(包括元素成员和元素分值)
六、hash数据结构
-
HSET KEY_NAME FIELD VALUE (hset key名称 field字段名称 value值名称 ) hset book name 神雕侠侣 hset book auth 金庸
- HGET KEY_NAME FIELD_NAME 返回哈希表中指定字段的值
- HGETALL KEY_NAME 返回哈希表中,所有的字段和值
- HEXISTS KEY_NAME FIELD_NAME 查看哈希表的指定字段是否存在
- HKEYS KEY_NAME 获取哈希表中的所有字段名
- HLEN KEY_NAME 获取哈希表中字段的数量
- HMGET KEY_NAME FIELD1...FIELDN 返回哈希表中,一个或多个给定字段的值。
- HMSET KEY_NAME FIELD1 VALUE1 ...FIELDN VALUEN 同时将多个 field-value (字段-值)对设置到哈希表中
- HVALS KEY_NAME 返回哈希表所有字段的值。
七、Redis全局操作
- flushdb 清空当前数据库的内容,不清空其他数据库的数据。
- flushall 清空所有数据库的内容。
- scan (使用keys* 命令列出所有key,如果很多将会对内存IO产生很高的值,严重导致宕机。所以采用scan命令以游标的形式来获取响应的key,而非一次性取出。)
- scan 0 math k* 查找k开头的key,会列出不会的数据,同时给出下次偏移的位置。