type
status
date
slug
summary
tags
category
icon
password
1.简介:
2.配置项:
示例:
- default是默认的Redis连接对象名,值是连接对象的参数;
app('redis.connection')返回的就是该默认连接对象;
- mydefine是我定义的Redis连接对象名;
通过执行app('redis')->connection('mydefine')可以获取该连接对象;
- mycluster1是笔者定义的Redis集群对象名;
通过执行app('redis')->connection('mycluster1')可以获取该集群对象;
3.使用:
3.1 字符串(String)操作:
3.1.1 普通 set
/ get
操作
set
操作,如果键名存在,则会覆盖原有的值;3.1.2 set
/ get
多个 key-value
set
的变种,结果返回替换前的值3.1.3 setex
存放带存储时效的记录
3.1.4 setnx
操作,不会覆盖已有值
3.1.5 incrby
/ incr
/ decrby
/ decr
对值的递增和递减
incr
key 中储存的数字值增一。
- 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
- 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
Incrby
命令将 key 中储存的数字加上指定的增量值。`decr` key 中储存的数字值减一。
- 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。
- 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
decrby
命令将 key 所储存的值减去指定的减量值。
3.1.6 exists
检测是否存在值
3.1.7 del
删除
3.1.8 type
类型检测
type
类型检测:- 字符串返回 string
- 列表返回 list
- set 表返回 set/zset
- hash 表返回 hash;
3.1.9 append
连接到已存在字符串
3.1.10 setrange
部分替换操作, 并返回字符串长度
3.1.11 substr
部分获取操作
3.1.12 strlen
获取字符串长度
3.1.13 setbit
位存储
3.1.14 getbit
位获取
3.1.15 keys
模糊查找功能,支持 * 号以及 ? 号 (匹配一个字符)
3.1.16 randomkey
随机返回一个key
3.1.17 rename
/ renamenx
方法对key进行改名
rename
/renamenx
方法对key进行改名,所不同的是renamenx不允许改成已存在的key
3.1.18 expire
设置 key-value 的时效性
3.1.19 ttl
获取剩余有效期
3.1.20 persist
重新设置为永久存储
3.1.21 dbsize
返回redis当前数据库的记录总数
3.2 列表(List)操作:
3.2.1 rpush
/ rpushx
插入
rpush
/rpushx
有序列表操作,右边插入
;
lpush
/lpushx
有序列表操作,左边插入
;x
含义是只对已存在的 key 进行操作
3.2.2 llen
返回当前列表长度
3.2.3 lrange
返回队列中一个区间的元素
3.2.4 lindex
返回指定顺序位置的 list 元素
3.2.5 lset
修改队列中指定位置的value
3.2.6 lrem
删除队列中左起指定数量的字符
3.2.7 lpop
/ rpop
类似栈结构地弹出(并删除)最左或最右的一个元素
3.2.8 ltrim
队列修改,保留左边起若干元素,其余删除
3.2.9 rpoplpush
从一个队列中 pop 出元素并 push 到另一个队列
3.2.10 linsert
在队列的中间指定元素前或后插入元素
3.2.11 blpop
/ brpop
阻塞并等待pop出最左或最右的一个元素
blpop
/brpop
阻塞并等待一个列队不为空时,再pop出最左或最右的一个元素(这个功能在php以外可以说非常好用)
3.3 集合(Set)操作:
3.3.1 sadd
增加set集合元素, 返回true, 重复返回false
3.3.2 srem
移除指定元素
3.3.3 spop
弹出首元素
3.3.4 smove
移动当前set集合的指定元素到另一个set集合
3.3.5 scard
返回当前set表元素个数
3.3.6 sismember
判断元素是否属于当前set集合
3.3.7 smembers
返回当前set集合的所有元素
3.3.8 sinter
/ sunion
/ sdiff
返回两个表的集合(交集、并集、补集)
sinter
返回两个表中元素的交集
sunion
返回两个表中元素的并集
sdiff
返回两个表中元素的补集
3.3.9 sinterstore
/ sunionstore
/ sdiffstore
返回两个表的集合(交集、并集、补集)copy 到第三个表中
sinterstore
将两个表交集 copy 到第三个表中
sunionstore
将两个表并集 copy 到第三个表中
sdiffstore
将两个表补集元素 copy 到第三个表中
3.3.10 srandmember
返回表中一个随机元素
3.4 有序集合(sorted set)操作
3.4.1 sadd
增加元素,并设置序号
成功返回true,重复返回false
3.4.2 zincrby
对指定元素索引值的增减,改变元素排列次序
3.4.3 zrem
移除指定元素
3.4.4 zrange
按位置次序返回表中指定区间的元素
3.4.5 zrevrange
同上,返回表中指定区间的元素,按次序倒排
3.4.6 zrangebyscore
/ zrevrangebyscore
(顺序/降序)返回表中指定索引区间的元素
zrangebyscore
按顺序返回表中指定索引区间的元素
zrevrangebyscore
按降序返回表中指定索引区间的元素
3.4.7 zunionstore
/ zinterstore
将多个表的(并集/交集)存入另一个表中
zunionstore
将多个表的并集存入另一个表中
zinterstore
将多个表的交集存入另一个表中
3.4.8 zcount
统计一个索引区间的元素个数
3.4.9 zcard
统计元素个数
3.4.10 zscore
查询元素的索引
3.4.11 zremrangebyscore
删除一个索引区间的元素
3.4.12 zrank
/ zrevrank
返回元素所在表(顺序/降序)的位置(不是索引)
zrank
返回元素所在表顺序的位置(不是索引)
zrevrank
返回元素所在表降序的位置(不是索引)
3.4.13 zremrangebyrank
删除表中指定位置区间的元素
3.5 哈希(Hash)表操作
3.5.1 hset
/ hget
hash表的存取
hset
存hash表的数据
hget
取hash表的数据
3.5.2 hexists
返回hash表中的指定key是否存在
3.5.3 hdel
删除hash表中指定key的元素
3.5.4 hlen
返回hash表元素个数
3.5.5 hsetnx
增加一个元素,但不能重复
3.5.6 hmset
存多个元素到hash表 / hmget
取多个元素到hash表
3.5.7 hincrby
对指定key进行累加
3.5.8 hkeys
返回hash表中的所有key
3.5.9 hvals
返回hash表中的所有value
3.5.10 hgetall
返回整个hash表元素
3.6 排序操作
3.6.1 sort
排序
3.7 Redis管理操作
3.7.1 info
显示服务当状态信息
3.7.2 select
指定要操作的数据库
3.7.3 flushdb
清空当前库
3.7.4 move
移动当库的元素到其它数据库
3.7.5 slaveof
配置从服务器
3.7.6 save
同步保存服务器数据到磁盘
3.7.7 bgsave
异步保存服务器数据到磁盘
3.7.8 lastsave
返回最后更新磁盘的时间
3.7.9 pipeline
批量操作
3.7.10 CAS,事务性操作
3.7.11 对存取的key加前缀,如: nrk:
3.8 集群:
3.8.1 分布式存储的一些方法
3.8.2 配置键分布策略
- 作者:孤雪飘寒
- 链接:https://blog.mypzh.com/article/redis-1
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。