redis-11-管理命令
11.redis 管理命令
命令
描述
INFO
查看 Redis 服务器的各种信息
SAVE
异步保存数据到硬盘
BGSAVE
在后台异步保存当前数据库的数据到磁盘
TIME
返回当前服务器时间
DBSIZE
返回当前数据库的 key 的数量
BGREWRITEAOF
异步执行一个 AOF(AppendOnly File) 文件重写操作
CLIENT
客户端连接
CLIENT LIST
获取客户端连接列表
CLIENT GETNAME
获取客户端的名称
CLIENT PAUSE
在指定时间内暂停运行来自客户端的命令
CLIENT SETNAME
设置当前连接的名称
CLUSTER SLOTS
获取集群节点的映射数组
COMMAND
Redis 命令
COMMAND COUNT
获取 Redis 命令总数
COMMAND GETKEYS
获取给定命令的所有键
COMMAND INFO
获取指定 Redis 命令描述信息
CONFIG GET
获取指定配置参数的值
CONFIG REWRITE
修改 redis ...
redis-10-发布订阅
10.发布订阅发布订阅(pub/sub)是一种常见的消息传递模式。比如我们订阅的微信公众号,只要你订阅的公众号,有新文章发布,都会推送给你。
Redis 发布订阅命令下表列出了 redis 发布订阅相关的命令
命令
描述
PSUBSCRIBE
订阅一个或多个消息
PUBSUB
查看订阅与发布状态
PUBLISH
发送信息
PUNSUBSCRIBE
退订多个消息
SUBSCRIBE
订阅一个消息
UNSUBSCRIBE
退订消息
发布订阅消息案例12345127.0.0.1:6379> subscribe huanxiReading messages... (press Ctrl-C to quit)1) "subscribe"2) "huanxi"3) (integer) 1
发布消息(重新打开一个 redis-cli)
12127.0.0.1:6379> publish huanxi "www.go-edu.cn"(integer) 1
订阅方接收消息
1231 ...
redis-09-事务
09.Redis 事务简单说,事务就是一次执行多个命令,并且要么都成功,要么都失败。
事务的特点
原子性:要么全部执行,要么全部不执行。
事务中的命令是按顺序执行的,在事务执行的过程中,不会被其他客户端发来的命令中断。
Redis 开启事务multi(开启事务)
命令入队
exec(执行事务)
123456789101112131415161718127.0.0.1:6379> multiOK127.0.0.1:6379(TX)> set web www.go-edu.cnQUEUED127.0.0.1:6379(TX)> get webQUEUED127.0.0.1:6379(TX)> sadd lesson golang redis web flutterQUEUED127.0.0.1:6379(TX)> smembers lessonQUEUED127.0.0.1:6379(TX)> exec1) OK2) "www.go-edu.cn"3) (integer) 44) 1) "golang" 2) ...
redis-08-有序集合操作
08.有序集合(sorted set)操作
sorted set 和 set 一样也是 string 类型元素的集合,元素不能重复。
sorted set 的每个元素都会有一个 double 类型的分数(score),元素是唯一的,但分数 (score) 却可以重复。
sorted set 通过分数(score) 给集合中的元素进行从小到大的排序
sorted set 是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)
Redis 有序集合命令下表列出了 Redis 有序集合的基本命令
命令
描述
ZADD
向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZCARD
获取有序集合的成员数
ZCOUNT
计算在有序集合中指定区间分数的成员数
ZINCRBY
有序集合中对指定成员的分数加上增量 increment
ZINTERSTORE
计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
ZLEXCOUNT
在有序集合中计算指定字典区间内成员数量
ZRANGE
通过索引区间返回有序集合成指定区间内的成员 ...
redis-07-集合(Set)操作
07.集合(Set)操作
set 是 string 类型的无序集合。
set 是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
集合成员是唯一的,不能出现重复的数据。
下表列出了 Redis 集合相关命令
命令
描述
SADD
向集合添加一个或多个成员
SCARD
获取集合的成员数
SDIFF
返回给定所有集合的差集
SDIFFSTORE
返回给定所有集合的差集并存储在 destination 中
SINTER
返回给定所有集合的交集
SISMEMBER
判断 member 元素是否是集合 key 的成员
SMEMBERS
返回集合中的所有成员
SMOVE
将 member 元素从 source 集合移动到 destination 集合
SPOP
移除并返回集合中的一个随机元素
SRANDMEMBER
返回集合中一个或多个随机数
SREM
移除集合中一个或多个成员
SUNION
返回所有给定集合的并集
SUNIONSTORE
所有给定集合的并集存储在 destination 集合中
SSCAN
迭代 ...
redis-06-列表操作
06.列表操作列表(List)是简单的字符串列表,按照插入顺序排序。 可以添加一个元素到列表的头部(左边)或者尾部(右边)。
Redis 列表命令下表列出了列表相关命令
命令
描述
BLPOP
移出并获取列表的第一个元素
BRPOP
移出并获取列表的最后一个元素
BRPOPLPUSH
从列表中弹出一个值,并将该值插入到另外一个列表中并返回它
LINDEX
通过索引获取列表中的元素
LINSERT
在列表的元素前或者后插入元素
LLEN
获取列表长度
LPOP
移出并获取列表的第一个元素
LPUSH
将一个或多个值插入到列表头部
LPUSHX
将一个值插入到已存在的列表头部
LRANGE
获取列表指定范围内的元素
LREM
移除列表元素
LSET
通过索引设置列表元素的值
LTRIM
对一个列表进行修剪(trim)
RPOP
移除并获取列表最后一个元素
RPOPLPUSH
移除列表的最后一个元素,并将该元素添加到另一个列表并返回
RPUSH
在列表中添加一个或多个值
RPUSHX
为已存在的列表添加值
123 ...
redis-05-哈希操作
05.哈希操作hash 是一个 string 类型的 field 和 value 的映射表。特别适合用于存储对象。
更多命令请参考:https://redis.io/commands
Redis hash 命令下表列出了 redis hash 命令
命令
描述
HDEL
删除一个或多个哈希表字段
HEXISTS
查看哈希表 key 中,指定的字段是否存在
HGET
获取存储在哈希表中指定字段的值
HGETALL
获取在哈希表中指定 key 的所有字段和值
HINCRBY
为哈希表 key 中的指定字段的整数值加上增量 increment
HINCRBYFLOAT
为哈希表 key 中的指定字段的浮点数值加上增量 increment
HKEYS
获取所有哈希表中的字段
HLEN
获取哈希表中字段的数量
HMGET
获取所有给定字段的值
HMSET
同时将多个 field-value (域-值)对设置到哈希表 key 中
HSET
将哈希表 key 中的字段 field 的值设为 value
HSETNX
只有在字段 field 不存 ...
redis-04-如何操作字符串
04.Redis 如何操作字符串更多命令请参考:https://redis.io/commands
命令
描述
SET
设置指定 key 的值
GET
获取指定 key 的值
GETRANGE
返回 key 中字符串值的子字符
GETSET
将给定 key 的值设为 value ,并返回 key 的旧值 ( old value )
GETBIT
对 key 所储存的字符串值,获取指定偏移量上的位 ( bit )
MGET
获取所有(一个或多个)给定 key 的值
SETBIT
对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)
SETEX
设置 key 的值为 value 同时将过期时间设为 seconds
SETNX
只有在 key 不存在时设置 key 的值
SETRANGE
从偏移量 offset 开始用 value 覆写给定 key 所储存的字符串值
STRLEN
返回 key 所储存的字符串值的长度
MSET
同时设置一个或多个 key-value 对
MSETNX
同时设置一个或多个 key-val ...
redis-03-命令
03.Redis 命令更多命令请参考:https://redis.io/commands
下表列出了 Redis 键相关的命令
命令
描述
DEL
用于删除 key
DUMP
序列化给定 key ,并返回被序列化的值
EXISTS
检查给定 key 是否存在
EXPIRE
为给定 key 设置过期时间
EXPIREAT
用于为 key 设置过期时间 接受的时间参数是 UNIX 时间戳
PEXPIRE
设置 key 的过期时间,以毫秒计
PEXPIREAT
设置 key 过期时间的时间戳(unix timestamp),以毫秒计
KEYS
查找所有符合给定模式的 key
MOVE
将当前数据库的 key 移动到给定的数据库中
PERSIST
移除 key 的过期时间,key 将持久保持
PTTL
以毫秒为单位返回 key 的剩余的过期时间
TTL
以秒为单位,返回给定 key 的剩余生存时间(
RANDOMKEY
从当前数据库中随机返回一个 key
RENAME
修改 key 的名称
RENAMENX
仅当 newkey ...
redis-02-数据类型
Redis 数据类型Redis 支持七种数据类型
string ( 字符串 )
hash ( 哈希 )
list ( 列表 )
set ( 集合 )
zset ( sorted set:有序集合 )
Bitmaps ( 位图 )
HyperLogLogs ( 基数统计 )
String(字符串)
string 是 Redis 最基本的数据类型,key/value。
string 类型的一个键最大能存储512 MB 数据。
Redis 的 string 可以包含任何数据,比如 jpg 图片或者序列化的对象。
string 类型是二进制安全的。
使用 Redis 的 SET 和 GET 命令来进行设置和读取字符串。
1234567127.0.0.1:6379> set name 面向加薪学习OK127.0.0.1:6379> get name"\xe9\x9d\xa2\xe5\x90\x91\xe5\x8a\xa0\xe8\x96\xaa\xe5\xad\xa6\xe4\xb9\xa0"使用工具查看"面向加薪学习"
Has ...