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 配置键分布策略

上一篇
Redis手册(二)
下一篇
krpano 初接触

评论
Loading...
目录