redis-基础-数据操作
一. 连接客户端
redis-cli -h host -p port -a password
redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
二. key操作
键命令用于管理redis的键
# 创建
SET w3ckey redis
# 删除
DEL w3ckey
# 序列化,序列化给定 key ,并返回被序列化的值
DUMP key
# 检查是否存在
EXISTS key
# 为给定 key 设置过期时间
EXPIRE key seconds
# 为给定 key 设置过期时间,毫秒计
PEXPIRE key milliseconds
# 为给定 key 设置过期时间,接收的是unix时间戳
EXPIREAT key timestamp EXPIREAT
# 为给定 key 设置过期时间,接收的是unix时间戳,毫秒计
PEXPIREAT key milliseconds-timestamp
# 查找所有符合给定模式的key
KEYS pattern
# 将当前数据库的 key 移动到给定的数据库 db 当中
MOVE key db
# 移除 key 的过期时间,key 将持久保持
PERSIST key
# 以毫秒为单位返回 key 的剩余的过期时间
PTTL key
# 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
TTL key
# 从当前数据库中随机返回一个 key
RANDOMKEY
# 修改 key 的名称
RENAME key newkey
# 仅当 newkey 不存在时,将 key 改名为 newkey
RENAMENX key newkey
# 返回 key 所储存的值的类型
TYPE key
MOVE key db例子
# key 存在于当前数据库
redis> SELECT 0             # redis默认使用数据库 0,为了清晰起见,这里再显式指定一次。
OK
redis> SET song "secret base - Zone"
OK
redis> MOVE song 1          # 将 song 移动到数据库 1
(integer) 1
redis> EXISTS song          # song 已经被移走
(integer) 0
redis> SELECT 1             # 使用数据库 1
OK
redis:1> EXISTS song        # 证实 song 被移到了数据库 1
(integer) 1
TTL命令
# 不存在的 key
redis> FLUSHDB
OK
redis> TTL key
(integer) -2
# key 存在,但没有设置剩余生存时间
redis> SET key value
OK
redis> TTL key
(integer) -1
# 有剩余生存时间的 key
redis> EXPIRE key 10086
(integer) 1
redis> TTL key
(integer) 10084
三. String操作
# 设置指定 key 的值
SET key value
# 获取指定 key 的值
GET key
# 返回 key 中字符串值的子字符,从0开头
GETRANGE key start end
# 将给定 key 的值设为 value ,并返回 key 的旧值(old value)
GETSET key value
# 对 key 所储存的字符串值,获取指定偏移量上的位(bit)
GETBIT key offset 对 key
# 获取下面这些key的value
MGET key1 [key2..]
# 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)
SETBIT key offset value
# 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)
SETEX key seconds value
# 只有在 key 不存在时设置 key 的值。
SETNX key value
# 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始
SETRANGE key offset value
# 返回 key 所储存的字符串值的长度
STRLEN key
# 同时设置一个或多个 key-value 对
MSET key value [key value ...]
# 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在
MSETNX key value [key value ...]
# 这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位
PSETEX key milliseconds value
# 将 key 中储存的数字值增一
INCR key
p# 将 key 所储存的值加上给定的增量值(increment)
INCRBY key increment
# 将 key 所储存的值加上给定的浮点增量值
INCRBYFLOAT key increment(increment)
# 将 key 中储存的数字值减一
DECR key
# 所储存的值减去给定的减量值(decrement)
DECRBY key decrement key
# 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾
APPEND key value
四. 哈希操作
# 删除一个或多个哈希表字段
HDEL key field2 [field2]
# 查看哈希表 key 中,指定的字段是否存在
HEXISTS key field
# 获取存储在哈希表中指定字段的值
HGET key field
# 获取在哈希表中指定 key 的所有字段和值
HGETALL keyffddf
# 为哈希表 key 中的指定字段的整数值加上增量ss increment
HINCRBY key field increment
# 为哈希表 key 中的指定字段的浮点数值加上增量 increment
HINCRBYFLOAT key field increment
# 获取所有哈希表中的字段
HKEYS key
# 获取哈希表中字段的数量
HLEN keyy
# 获取所有给定字段的值
HMGET key field1 [field2]
# 同时将多个 field-value (域-值)对设置到哈希表 key 中
HMSET key field1 value1 [field2 value2 ]
# 将哈希表 key 中的字段 field 的值设为 value
HSET key field value
# 只有在字段 field 不存在时,设置哈希表字段的值
HSETNX key field value
# 获取哈希表中所有值
HVALS key
# 迭代哈希表中的键值对
HSCAN key cursor [MATCH pattern] [COUNT count]
五. List操作
你可以添加一个元素导列表的头部(左边)或者尾部(右边)
# 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
BLPOP key1 [key2 ] timeout
# 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
BRPOP key1 [key2 ] timeout
# 从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
BRPOPLPUSH source destination timeout
# 通过索引获取列表中的元素,从0开始
LINDEX key index
# 在pivot前或后插入元素
LINSERT key BEFORE|AFTER pivot value
# 获取列表长度
LLEN key
# 移出并获取列表的第一个元素
LPOP key
# 将一个或多个值插入到列表头部
LPUSH key value1 [value2]
# 将一个或多个值插入到已存在的列表头部
LPUSHX key value
# 获取列表指定范围内的元素
LANGE key start stop
# 移除列表元素(,index是重复的元素,如果这个index是负数,从右侧开始)
LREM key index value
# 通过索引设置列表元素的值
LSET key index value
# 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除
LTRIM key start stop
# 移除并获取列表最后一个元素
RPOP key
# 移除列表的最后一个元素,并将该元素添加到另一个列表并返回
RPOPLPUSH source destination
# 在列表中添加一个或多个值
RPUSH key value1 [value2]
# 为已存在的列表添加值
RPUSHX key value
六. set操作
# 向集合添加一个或多个成员
SADD key member1 [member2]
# 获取集合的成员数
SCARD key
# 返回给定所有集合的差集
SDIFF key1 [key2]
# 返回给定所有集合的差集并存储在 destination 中
SDIFFSTORE destination key1 [key2]
# 返回给定所有集合的交集
SINTER key1 [key2]
# 返回给定所有集合的交集并存储在 destination 中
SINTERSTORE destination key1 [key2]
# 判断 member 元素是否是集合 key 的成员
SISMEMBER key member
# 返回集合中的所有成员
SMEMBERS key
# 将 member 元素从 source 集合移动到 destination 集合
SMOVE source destination member
# 移除并返回集合中的一个随机元素
SPOP key
# 返回集合中一个或多个随机数
SRANDMEMBER key [count]
# 移除集合中一个或多个成员
SREM key member1 [member2]
# 返回所有给定集合的并集
SUNION key1 [key2]
# 所有给定集合的并集存储在 destination 集合中
SUNIONSTORE destination key1 [key2]
# 迭代集合中的元素
SSCAN key cursor [MATCH pattern] [COUNT count]
七. sorted set操作
string类型元素的集合,且不允许重复的成员
有序集合存储一个分数
# 向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZADD key score1 member1 [score2 member2]
# 获取有序集合的成员数
ZCARD key
# 计算在有序集合中指定区间分数的成员数
ZCOUNT key min max
# 有序集合中对指定成员的分数加上增量 increment
ZINCRBY key increment member
# 计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
ZINTERSTORE destination numkeys key [key ...]
# 在有序集合中计算指定字典区间内成员数量
ZLEXCOUNT key min max
# 通过索引区间返回有序集合成指定区间内的成员
ZRANGE key start stop [WITHSCORES]
# 通过字典区间返回有序集合的成员,这里min和max的写法如[a开区间  (a闭区间
# offset是从
ZRANGEBYLEX key min max [WITHSCORES]  [LIMIT offset count]
# 通过分数返回有序集合指定区间内的成员
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
# 返回有序集合中指定成员的索引
ZRANK key member
# 移除有序集合中的一个或多个成员
ZREM key member [member ...]
# 移除有序集合中给定的字典区间的所有成员
ZREMRANGEBYLEX key min max
# 移除有序集合中给定的排名区间的所有成员
ZREMRANGEBYRANK key start stop
# 移除有序集合中给定的分数区间的所有成员
ZREMRANGEBYSCORE key min max
# 返回有序集中指定区间内的成员,通过索引,分数从高到底
ZREVRANGE key start stop [WITHSCORES]
# 返回有序集中指定分数区间内的成员,分数从高到低排序
ZREVRANGEBYSCORE key max min [WITHSCORES]
# 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
ZREVRANK key member
# 返回有序集中,成员的分数值
ZSCORE key member
# 计算给定的一个或多个有序集的并集,并存储在新的 key 中
ZUNIONSTORE destination numkeys key [key ...]
# 迭代有序集合中的元素(包括元素成员和元素分
ZSCAN key cursor [MATCH pattern] [COUNT count]
ZRANGE例子
ZRANGE salary 0 -1 WITHSCORES
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号