Redis 数据类型
字符串(string)
set 键 值
添加数据
get 键
读取数据
Linux操作系统下编写
127.0.0.1:1715> set num 100 127.0.0.1:1715> get num
incr 键
增加(increment缩写,默认每次只+1)
127.0.0.1:1715> incr num
incrBy 键 值
增加多个数量
127.0.0.1:1715> incrBy num 100
decr 键
递减(默认每次只-1)
127.0.0.1:1715> decr num
decrBy 键 递减数
递减指定的数量
127.0.0.1:1715> decrBy num 10
append 变量名 追加的内容
字符串后追加内容
127.0.0.1:1715> append name world
delete 键
删除
127.0.0.1:1715> delete num
expire 键 时间长度/秒
设置数据的有效期
127.0.0.1:1715> expire num 10
expireAt('变量名',时间戳)
设置数据的有效期
strtotime('时间')
将字符串转换成时间戳
<?php //设置时区 date_default_timezone_set('PRC'); //1.实例化redis对象 $redis = new Redis(); //2.连接redis服务器 $result = $redis -> connect('127.0.0.1',1715); //3.设置数据的有效期 echo strtotime("2018-04-25 10:50:00"); $redis -> expireAt('name',strtotime("2018-04-25 10:50:00"));
exists 变量名
判断变量是否存在
127.0.0.1:1715> exits name
链表(list)
链表, 一段逻辑上连续的存储空间(类似于PHP的索引数组),和链表相关的方,基本是l开头
lpush
<?php //1.实例化redis对象 $redis = new Redis(); //2.连接redis服务器 $result = $redis -> connect('127.0.0.1',1715); //3. $redis -> lpush('waiting','one'); $redis -> lpush('waiting','two'); $redis -> lpush('waiting','three');
rpop
127.0.0.1:1715> RPOP waiting "one"
rpush
lpop
lpush、rpop 和 rpush、lpop 这两对常用来生成任务队列,先到先得(FIFO)。通常在生成订单时会使用链表方式生成任务队列
lrange 变量名 开始的索引 结束的索引
获取指定索引范围的元素(若结束的索引为-1,表示倒数第一个)
127.0.0.1:1715> LRANGE waiting 0 1 1) "two" 2) "one" 127.0.0.1:1715> LRANGE waiting 0 -1 1) "three" 2) "two" 3) "one"
llen 变量名
长度
127.0.0.1:1715> llen waiting (integer) 3
lset 变量名 索引 元素
设置某个索引处元素
127.0.0.1:1715> lset waiting 0 first OK
lrem 变量名 索引 元素
删除指定的元素
127.0.0.1:1715> lrem waiting 0 first (integer) 1
哈希表(hash)
以键值对的方式存储数据(类似于PHP中的关联数组),常用来保存有关联关系的数据。和哈希表相关的方法,都是以h开头
hset 变量名 键 值
设置某个键
127.0.0.1:1715> hset people name David (integer) 1
hget 变量名 键
获取某个键
127.0.0.1:1715> hget people name
hlen 变量名
元素个数
127.0.0.1:1715> hlen people
hdel 变量名 键
删除某个元素
127.0.0.1:1715> hden people name
hexists 变量名 键
某个元素是否存在
127.0.0.1:1715> hexists people name
集合(set)
集合类型的数据有2个特点:
- 成员没有顺序性,无序
- 成员唯一
和集合类型相关的方法,以s开头
sadd 成员 值
添加成员
127.0.0.1:1715> sadd hobby swim
smembers 成员
获取集合中的全部成员,不区分大小写(在php中调用时使用小写0)
127.0.0.1:1715> smembers hobby
spop 成员
弹出成员
127.0.0.1:1715> spop hobby "swim"
srem 成员
删除成员
127.0.0.1:1715> srem hobby (integer) 1
scard 成员
成员个数
127.0.0.1:1715> scard hobby (integer) 0
有序集合(sorted-set)
适合开发排行榜类型的应用
zadd 变量名 分值 成员
添加成员, 同时指定分数
127.0.0.1:1715> zadd rank 5 baidu (integer) 1
zincrBy 变量名 成员
递增成员的分值
127.0.0.1:1715> zincrBy rank 5 baidu (integer) 1
zScore 变量名 成员
获取成员的分
127.0.0.1:1715> zScore rank baidu
zrange 变量名 最小分值 最大分值
根据分值, 返回指定范围的成员
127.0.0.1:1715> zrange rank 0 -1
zRevRange 变量名
倒序(降序分值)
127.0.0.1:1715> zRevRange rank
zRangeByScore 变量名 最大分值 最小分值
分值过滤成员
127.0.0.1:1715> zRangebyScore rank 5 1