Redis 命令
Redis 命令用于在 redis 服务上执行操作。
要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前下载的的 redis 的安装包中。
语法
Redis 客户端的基本语法为:
实例
以下实例讲解了如何启动 redis 客户端:
启动 redis 客户端,打开终端并输入命令 redis-cli。该命令会连接本地的 redis 服务。
在以上实例中我们连接到本地的 redis 服务并执行 PING 命令,该命令用于检测 redis 服务是否启动。
在远程服务上执行命令
如果需要在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令。
语法
实例
以下实例演示了如何连接到主机为 127.0.0.1,端口为 6379 ,密码为 mypass 的 redis 服务上。
#PHP 使用 Redis
###安装
开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。 接下来让我们安装 PHP redis 驱动:下载地址为:https://github.com/nicolasff/phpredis。
PHP安装redis扩展
/usr/local/php/bin/phpize
#php安装后的路径
./configure –with-php-config=/usr/local/php/bin/php-config
make && make install
修改php.ini文件
|
|
增加如下内容:
安装完成后重启php-fpm 或 apache。查看phpinfo信息,就能看到redis扩展。
PHP 使用 Redis
连接到 redis 服务
|
|
|
|
|
|
##Redis的数据类型
##String 字符串类型
一个键最多存储512M
1.SET:设置key对应值为value
|
|
2.GET:根据KEY找到对应的值
|
|
3.GETRANGE:返回字符串中的一部分
|
|
4.GETSET:设置指定key的值,并返回旧值
|
|
语法:MSET key value [key value .......]
MSET str4 'xdl' str5 'itxdl' str6 'xdlo2o'
|
|
语法: MSETNX key value [key value .....]
MSETNX str10 'a' str11 'b' str12 'c'
MSETNX str12 'd' str13 'e'
|
|
语法: MGET key key
MGET str4 str5 str6
|
|
语法: STRLEN key
STRLEN str4
|
|
语法:SETRANGE key offset value
SET str7 'hello'
SETRANGE str7 5 'xdl'
注意: 如果设置key原来的字符串的长度比偏移量小,就会以零字节(\x00)来填充
|
|
语法: SETNX key value
SETNX str7 'hello'
|
|
语法: SETEX key seconds value
SETEX str8 30 'xdl'
|
|
语法:PSEREX key milliseconds value
PSETEX set9 20000 'hello'
|
|
语法: INCR key
SET str14 1
INCR str14
INCR str15
注意:key如果不存在,则会先初始化为0,在进行INCR操作
|
|
语法: INCRBY key INCREMENT
SET str16 10
INCRBY str16 5
INCRBY str16 1.5
|
|
语法; INCRBYFLOAT key increment
SET str17 1
INCRBYFLOAT str17 1.5
|
|
语法: DECR key
SET str18 1
DECR str18
|
|
语法: DECRBY key decrement
SET str19 20
DECRBY str19 5
|
|
语法:APPEND key value
SET str20 'xdl'
APPEND str20 'o2o'
|
|
|
|
2.RPUSH:向列表右端添加元素
|
|
3.RANGE:获取列表片段
|
|
4.PUSHX:向列表头部添加元素,只有key存在才添加
|
|
5.PUSHX:向列表尾部添加元素,只有key存在才添加
|
|
6.LPOP:将列表头部的元素弹出
|
|
7.POP:弹出列表尾部元素
|
|
8.LEN:获取列表长度
|
|
9.REM:删除列表中的指定值
|
|
10.INDEX:获取指定索引元素上的值
|
|
11.SET:设置指定元素的值
|
|
12.TRIM:只保留列表片段
|
|
13.INSERT 向列表中插入元素
|
|
14.POPLPUSH:将元素从一个列表转移到另一个列表
|
|
##SET集合类型:无序集合
1.SADD:向集合中添加一个元素
|
|
语法: SMEMBERS key
SMEMBERS set1
|
|
语法:SISMEMBER key member
SISMEMBER set1 xdl
|
|
语法:SREM key member [member ....]
SREM set1 xdl
|
|
语法: SPOP key
SPOP set1
|
|
语法: SRANDMEMBER key count
注意:
count 为正数,而且小于集合中的元素,返回一个随机元素的集合数组,
count 数大于集合中的个数的时候,返回整个集合
count 为负数,返回一个数组,数组中的成员可能出现重复,数组的长度是count的绝对值
SRANDMEMBER set1 -3
|
|
语法: SDIFF key key ....
SADD set2 a b c d
SADD set3 c d e f
SADD set4 a e
SDIFF set3 set2
SDIFF set2 set3 set4
|
|
语法: SINTER key key key ...
SINTER set2 set3
SADD set5 c
SINTER set2 set3 set5
|
|
语法: SUNION key key ...
SUNION set2 set3
SUNION set2 set3 set4
|
|
语法: SCARD key
SCARD set2
|
|
语法: SDIFFSTORE destination key key ....
SDIFFSTORE set6 set2 set3
|
|
语法: SINTERSTORE destination key key ....
SINTERSTORE set7 set2 set3
|
|
语法: SUNIONSTORE destination key key ....
SUNIONSTORE set8 set2 set3
|
|
语法 SMOVE source destination member
SMOVE set3 set2 e
|
|
|
|
2.GET:返回哈希表key中给的field的值
|
|
3.SETNX:将hash表中的field设置成指定的值,只有field不存在才能成功,如果field存在,操作无效
|
|
4.MSET:通过多个 field value设置到hash表key中
|
|
5.MGET:一次获得hash表key中多个field的值
|
|
6.GETALL:返回hash表key中所有的field和value
|
|
7.KEYS:返回hash表key中的所有的field
|
|
8.VALS:返回hash表key中所有的field的对应值
|
|
9.EXISTS:检测hash中key的field是否存在
|
|
10.LEN:返回hash表key中的field的数量
|
|
11.INCRBY :给hash表key中的field做增量操作
|
|
12.INCRBYFLOAT:给hash表key中的field做增量浮点操作
|
|
13.HDEL:删除hash中key的指定field,可删除一个或多个
|
|
##zset(sorted set)有序集合
1.ZADD:将元素及其分数添加到集合中
|
|
2.ZSCORE:获得指定元素的分数
|
|
3.ZRANGE:按照元素分数从小到大的顺序返回指定索引start到stop之间所有元素(包含两端)
|
|
4.ZREVRANGE:和ZRANGE相反,按照分数从大到小的顺序
|
|
5.ZRANGEBYSCORE:获得指定分数范围内的元素,按照分数从小到大的顺序,返回的是分数在指定的min到max的元素
|
|
6.ZREVRANGEBYSCORE:获得指定分数范围内的元素,按照元素的分数从大到小的顺序返回min和max之间的元素
|
|
7.ZINCRBY:操作某个元素的分数,返回操作之后的分数
|
|
8.ZCARD:获得集合中元素的数量
|
|
9.ZCONUT:获得指定分数内的元素的数量
|
|
10.ZREM:删除一个或者多个元素,返回删除元素的个数
|
|
11.ZREMRANGEBYRANK:按照排名范围删除元素,按照分数从小到大的顺序删除所指定的排名范围内的所有元素
|
|
12.ZREMRANGEBYSCORE:按照分数范围删除元素
|
|
13.ZRANK:获得指定元素的排名,根据分数从小到大的顺序
|
|
14.ZREVRANK:获得指定元素的排名,根据分数从大到小的顺序
|
|
15.ZINTERSTORE:计算有序集合的交集,并将结果保存起来
|
|
16.ZUNIONSTORE:计算有序集合并集,将结果保存起来
|
|