Redis 常用命令总结

来源:互联网 发布:四川大学校内网络电视 编辑:程序博客网 时间:2024/05/21 11:23

对 Key 操作的命令:

命令 描述 exists key 确认一个key键是否存在 del key 删除一个key键 type key 返回值的类型 keys pattern 查找所有符合给定模式( pattern)的 key randomkey 从当前数据库中随机返回一个 key keyrename oldkey newkey 修改 key 的名称 dbsize 返回当前数据库中key的数目 expire key value 为给定 key 设置过期时间 ttl key 以秒为单位,返回给定 key 的剩余生存时间 select(index) 按索引查询 move key db 将当前数据库的 key 移动到给定的数据库 db 当中 flushdb 删除当前选择数据库中的所有key flushall 删除所有数据库中的所有key

对string操作的命令:

命令 描述 set key value 设置指定 key 的值 get key 获取指定 key 的值 getset key value 将给定 key 的值设为 value ,并返回 key 的旧值(old value) mget key1 key2 ..keyn 获取所有(一个或多个)给定 key 的值 setnx key value 添加键名为key,值为value setex key time value 为指定的 key 设置值及其过期时间 mset key1 value1 key2 value2 . . keyN valueN 同时设置一个或多个 key-value 对 msetnx key1 value1 key2 value2 . . keyN valueN 添加多个键值对 incr key 将 key 的值增加 1 incrby key value 将 key 的值增加 value decr key 将 key 的值减少 1 decrby key value 将 key 的值减少 value append key value 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾 substr key start end 返回名称为key的value的子串

对List操作的命令

命令 描述 lpush key value1 value2 . . valueN 将一个或多个值插入到列表的首部(最左边) rpush key value1 value2 . . valueN 将一个或多个值插入到列表的尾部(最右边) lpop key 移出并获取列表的第一个元素 rpop key 移出并获取列表的最后一个元素 llen key 获取列表长度 lrange key start end 获取列表指定范围内的元素 ltrim key start end 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除 lindex key index 通过索引获取列表中的元素 lset key index value 通过索引设置列表元素的值 lrem key count value count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT
count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值
count = 0 : 移除表中所有与 VALUE 相等的值 blpop key1 key2 key3 . . keyN time 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止 brpop key1 key2 key3 . . keyN time 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止 rpoplpush srckey dstkey 移除列表的最后一个元素,并将该元素添加到另一个列表并返回

对Set操作的命令:

命令 描述 sadd key value1 value2 . . valueN 向集合添加一个或多个成员 srem key member1 member2 . . memberN 移除集合中的一个或多个成员元素,不存在的成员元素会被忽略 spop key 移除并返回集合中的一个随机元素 smove srckey dstkey member 将指定成员 member 元素从 source 集合移动到 dstkey 集合 scard key 获取集合的成员数 sismember key member 判断 member 元素是否是集合 key 的成员 sinter key1 key2 . . keyN sinterstore dstkey key key1 key2 . . keyN 获得给定所有集合的交集并存储在 dstkey 集合中 sunion key key1 key2 . . keyN 获得所有给定集合的并集 sunionstore dstkey key1 key2 . . keyN 将所有给定集合的并集存储在 dstkey 集合中 sdiff key key1 key2 key3 . . keyN 获得给定所有集合的差集 sdiffstore(dstkey, (keys)) smembers key 获得集合中的所有成员 srandmember key [count] 获得集合中的一个随机元素。
如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。
如果 count 大于等于集合基数,那么返回整个集合。
如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。

对Hash操作的命令:

命令 描述 hset key field value 如果字段是哈希表中的一个新建字段,并且值设置成功,返回 1 。
如果哈希表中域字段已经存在且旧值已被新值覆盖,返回 0 。 hget key field 获得键名key的字段filed的值 hget key filed1 filed2 .. filedN 获得键名key的一个或多个给定filed字段的值 hmset key filed1 value1 filed2 value2 . . filedN valueN 若key不存在,会创建一个空哈希表,然后添加多个 field-value
若key存在,则覆盖key中多个字段filed对应的值 hincrby key filed value key中字段filed值增加value hexists key filed 查看key中的字段filed是否存在 hdel key filed1 filed2 .. filedN 删除 key 中的一个或多个指定字段,不存在的字段将被忽略 hlen key 获取 key 中的字段 filed 的数量 hkeys key 获取 key 中的所有字段名 hvals key 获取 key 中的所有字段filed对应的值 hgetall key 获取 key 中所有的字段和值
0 0