Redis教程

Redis总结

本文主要是介绍Redis总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Redis总结

Key

命令 描述
DEL key 删除键值
DUMP key 序列化键值
EXISTS key 检查key是否存在
EXPIRE key 秒 设置key的过期时间,秒格式
PEXPIRE key 毫秒 设置key的过期时间,毫秒格式
EXPIREAT key 时间戳 设置key的过期时间,UNIX 时间戳(unix timestamp)格式
KEYS PATTERN 查找所有符合给定模式 pattern 的 key
MOVE key 目标数据库 将当前数据库的 key 移动到给定的数据库 db 当中
PERSIST key 移除给定 key 的过期时间
TTL key 返回过期时间,秒格式
PTTL key 返回过期时间,毫秒格式
RANDOMKEY 随机返回一个key
RENAME key 新名称 修改key的名称
SCAN CURSOR [MATCH pattern] [COUNT count] 迭代键,cursor 游标,pattern匹配模式,count 默认值返回 10
SSCAN key CURSOR [MATCH pattern] [COUNT count] 迭代集合中键的元素
HSCAN key CURSOR [MATCH pattern] [COUNT count] 迭代哈希表中键的元素
ZSCAN key CURSOR [MATCH pattern] [COUNT count] 迭代有序集合中键的元素
TYPE KEY_NAME 返回 key 所储存的值的类型

String

命令 描述
SET key value 设置指定 key 的值
GET key 获取指定 key 的值
GETRANGE key start end 返回 key 中字符串值的子字符
GETSET key value 将给定 key 的值设为 value ,并返回 key 的旧值(old value)
GETBIT key offset 对 key 所储存的字符串值,获取指定偏移量上的位(bit)
MGET key1 key2 …… 获取所有(一个或多个)给定 key 的值
SETBIT key offset value 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)
SETEX key seconds value 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)
SETNX key value 只有在 key 不存在时设置 key 的值
SETRANGE key offset value 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始
STRLEN key 返回 key 所储存的字符串值的长度
MSET key1 value1 key2 value2 …… 同时设置一个或多个 key-value 对
MSETNX key1 value1 key2 value2 …… 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在
PSETEX key milliseconds value 以毫秒为单位设置 key 的生存时间
INCR key 将 key 中储存的数字值增一
INCRBY key increment 将 key 所储存的值加上给定的增量值(increment)
INCRBYFLOAT key increment 将 key 所储存的值加上给定的浮点增量值(increment)
DECR key 将 key 中储存的数字值减一
DECRBY key decrement key 所储存的值减去给定的减量值(decrement)
APPEND key value 将指定的 value 追加到该 key 原来值(value)的末尾。

Hash

命令 描述
HDEL key field1 field2 …… 删除一个或多个哈希表字段
HEXISTS key fiels 查看哈希表 key 中,指定的字段是否存在。
HGET key field 获取存储在哈希表中指定字段的值。
HGETALL key 获取在哈希表中指定 key 的所有字段和值
HINCRBY key field increment 为哈希表 key 中的指定字段的整数值加上增量 increment 。
HINCRBYFLOAT key field increment 为哈希表 key 中的指定字段的浮点数值加上增量 increment 。
HKEYS key 获取所有哈希表中的字段
HLEN key 获取哈希表中字段的数量
HMGET key field1 field2 …… 获取所有给定字段的值
HMSET key field1 vlaue1 field2 value2 …… 同时将多个 field-value (域-值)对设置到哈希表 key 中。
HSET key field value 将哈希表 key 中的字段 field 的值设为 value 。
HSETNX key field value 只有在字段 field 不存在时,设置哈希表字段的值。
HVALS key 获取哈希表中所有值。
HSCAN key cursor [MATCH pattern] [COUNT count] 迭代哈希表中的键值对。

List

命令 描述
BLPOP list1 list2 …… TIMEOUT 移出并获取列表的第一个元素,无元素会阻塞至超时
BRPOP list1 list2 …… TIMEOUT 移出并获取列表的最后一个元素,无元素会阻塞至超时
BRPOPLPUSH list1 list2 TIMEOUT 从list1中取出最后一个元素,插入到list2的头部
LINDEX list index 通过索引获取列表中的元素
LINSERT list BEFORE|AFTER pivot value 在列表的元素前或者后插入元素,空列表不执行任何操作
LLEN list 获取列表长度
LPOP list 移除并获取列表第一个元素
LPUSH list vlaue1 vlaue2 …… 将一个或多个值插入到列表的头部,列表不存在则创建
LPUSHX list vlaue1 vlaue2 …… 将一个或多个值插入到列表的头部,列表不存在不操作
LRANGE list start end 获取指定范围的元素
LREM list count value 移除|count|个与 value 相等的元素,count=0全部,+表尾开始,-表头开始
LSET list index value 通过索引来设置元素的值
LTRIM list start end 对一个列表进行修剪(trim),让列表只保留指定区间内的元素
RPOP list 移除并获取列表最后一个元素
RPOPLPUSH list1 list2 移除list1的最后一个元素,并添加到list2并返回
RPUSH list vlaue1 vlaue2 …… 将一个或多个值插入到列表的尾部,,列表不存在则创建
RPUSHX list vlaue1 vlaue2 …… 将一个或多个值插入到列表的尾部,列表不存在不操作

Set

命令 描述
SADD set member1 member2 …… 向集合中添加成员
SCARD set 获取集合成员数
SDIFF set1 set2 …… 返回集合之间的差集
SDIFFSTORE set set1 set2 …… 将给定集合之间的差集存储在set中,若set已存在则覆盖
SINTER set1 set2 …… 返回集合之间的交集
SINTERSTORE set set1 set2 …… 将给定集合之间的交集存储在set中,若set已存在则覆盖
SISMEMBER set value 判断成员元素是否是集合的成员
SMEMBERS set 返回集合中所有成员
SMOVE set1 set2 member 将member从set1移动到set2
SPOP set [count] 移除一个或多个随机元素,移除后会返回移除的元素。
SRANDMEMBER set [count] 用于返回集合中的一个或多个随机元素
SREM set member1 member2 …… 移除一个或多个成员
SUNION set1 set2 …… 返回给定集合的并集。不存在的集合 key 被视为空集
SUNIONSTORE set set1 set2 …… 将给定集合之间的并集存储在set中,若set已存在则覆盖
SSCAN key CURSOR [MATCH pattern] [COUNT count] 迭代集合中的元素

Sorted Set

命令 描述
ZADD sset score1 member1 score2 member2 …… 向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZCARD sset 获取有序集合的成员数
ZCOUNT sset min max 计算在有序集合中指定区间分数的成员数
ZINCRBY sset increment member 有序集合中对指定成员的分数加上增量 increment
ZINTERSTORE sset numkeys sset1 sset2 …… 计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 sset 中
ZLEXCOUNT sset min max 在有序集合中计算指定字典区间内成员数量
ZRANGE sset start stop WITHSCORES 通过索引区间返回有序集合指定区间内的成员
ZRANGEBYLEX sset min max [LIMIT offset count] 通过字典区间返回有序集合的成员
ZRANGEBYSCORE sset min max [WITHSCORES] [LIMIT] 通过分数返回有序集合指定区间内的成员
ZRANK sset member 返回有序集合中指定成员的索引
ZREM sset member1 member2 …… 移除有序集合中的一个或多个成员
ZREMRANGEBYLEX sset min max 移除有序集合中给定的字典区间的所有成员
ZREMRANGEBYRANK sset start stop 移除有序集合中给定的排名区间的所有成员
ZREMRANGEBYSCORE sset min max 移除有序集合中给定的分数区间的所有成员
ZREVRANGE sset start stop [WITHSCORES] 返回有序集中指定区间内的成员,通过索引,分数从高到低
ZREVRANGEBYSCORE sset max min [WITHSCORES] 返回有序集中指定分数区间内的成员,分数从高到低排序
ZREVRANK sset member 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
ZSCORE sset member 返回有序集中,成员的分数值
ZUNIONSTORE sset numkeys sset1 sset2 …… 计算给定的一个或多个有序集的并集,并存储在新的 sset 中
ZSCAN sset CURSOR [MATCH pattern] [COUNT count] 迭代有序集合中的元素(包括元素成员和元素分值)

HyperLogLog

命令 描述
PFADD key element1 element2 …… 添加指定元素到 HyperLogLog 中
PFCOUNT key1 key2 …… 返回给定 HyperLogLog 的基数估算值。
PFMERGE destkey sourcekey1 sourcekey2 …… 将多个 HyperLogLog 合并为一个 HyperLogLog

订阅

命令 描述
PSUBSCRIBE pattern1 pattern2 …… 订阅一个或多个符合给定模式的频道
PUBSUB <subcommand> [argument [argument ...]] 查看订阅与发布系统状态
PUBLISH channel message 将信息发送到指定的频道
PUNSUBSCRIBE [pattern [pattern ...]] 退订所有给定模式的频道
SUBSCRIBE channel [channel ...] 订阅指定的频道
UNSUBSCRIBE channel [channel ...] 退订指定的频道

事务

命令 描述
DISCARD 取消事务,放弃执行事务块内的所有命令
EXEC 执行所有事务块内的命令
MULTI 标记一个事务块的开始
UNWARTCH 取消 WATCH 命令对所有 key 的监视
WATCH key1 key2 …… 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断

脚本

命令 描述
EVAL script numkeys key [key ...] arg [arg ...] 执行 Lua 脚本
EVALSHA sha1 numkeys key [key ...] arg [arg ...] 执行 Lua 脚本
SCRIPT EXISTS script [script ...] 查看指定的脚本是否已经被保存在缓存当中
SCRIPT FLUSH 从脚本缓存中移除所有脚本。
SCRIPT KILL 杀死当前正在运行的 Lua 脚本。
SCRIPT LOAD script 将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。

连接

命令 描述
AUTH pwd 验证密码是否正确
ECHO msg 打印字符串
PING 查看服务是否运行
QUIT 退出当前服务
SELECT index 切换到指定数据库

服务器

命令 描述
BGREWRITEAOF 异步执行一个 AOF(AppendOnly File) 文件重写操作
BGSAVE 在后台异步保存当前数据库的数据到磁盘
CLIENT KILL ip:port 关闭客户端连接
CLIENT LIST 获取连接到服务器的客户端连接列表
CLIENT GETNAME 获取连接名称
CLIENT PAUSE timeout 在指定时间内终止运行来自客户端的命令
CLIENT SETNAME connection-name 设置当前连接名称
CLUSTER SLOTS 获取集群节点的映射数组
COMMAND 获取 Redis 命令详情数组
COMMAND COUNT 获取 Redis 命令总数
COMMAND GETKEYS 获取给定命令的所有键
TIME 返回当前服务器时间
COMMAND INFO command-name [command-name ...] 获取指定 Redis 命令描述的数组
CONFIG GET parameter 获取指定配置参数的值
CONFIG REWRITE parameter 对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写
CONFIG SET parameter value 修改 redis 配置参数,无需重启
CONFIG RESETSTAT 重置 INFO 命令中的某些统计数据
DBSIZE 返回当前数据库的 key 的数量
DEBUG OBJECT key 获取 key 的调试信息
DEBUG SEGFAULT 让 Redis 服务崩溃
FLUSHALL 删除所有数据库的所有key
FLUSHDB 删除当前数据库的所有key
INFO [section] 获取 Redis 服务器的各种信息和统计数值
LASTSAVE 返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示
MONITOR 实时打印出 Redis 服务器接收到的命令,调试用
ROLE 返回主从实例所属的角色
SAVE 同步保存数据到硬盘
SHUTDOWN [NOSAVE] [SAVE] 异步保存数据到硬盘,并关闭服务器
SLAVEOF host port 将当前服务器转变为指定服务器的从属服务器(slave server)
SLOWLOG subcommand [argument] 管理 redis 的慢日志
SYNC 用于复制功能(replication)的内部命令

GEO

命令 描述
GEOADD key longitude latitude member [longitude latitude member ...] 将一个或多个经度(longitude)、纬度(latitude)、位置名称(member)添加到指定的 key 中
GEOPOS key member [member ...] 从给定的 key 里返回所有指定名称(member)的位置(经度和纬度)
GEODIST key member1 member2 [m|km|ft|mi] 用于返回两个给定位置之间的距离
GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key] 以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素
GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key] 同GEORADIUS,但中心点是由给定的位置元素决定的
GEOHASH key member [member ...] 获取一个或多个位置元素的 geohash 值

Stream

消息队列

命令 描述
XADD key ID field value [field value ...] 向队列添加消息,队列不存在则创建
XTRIM key MAXLEN [~] count 对流进行修剪,限制长度
XDEL key ID [ID ...] 删除消息
XLEN key 获取消息长度
XRANGE key start end [COUNT count] 获取消息列表,会自动过滤已经删除的消息
XREVRANGE key end start [COUNT count] 获取消息列表,会自动过滤已经删除的消息
XREAD [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] id [id ...] 以阻塞或非阻塞方式获取消息列表

消费者组

命令 描述
XGROUP [CREATE key groupname id-or-$] [SETID key groupname id-or-$] [DESTROY key groupname] [DELCONSUMER key groupname consumername] 创建消费者组
XREADGROUP GROUP group consumer [COUNT count] [BLOCK milliseconds] [NOACK] STREAMS key [key ...] ID [ID ...] 读取消费组的消息

这篇关于Redis总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!