redis-key(键)的操作

以下所有命令默认在已连接上redis服务,php命令中 $redis 为实例化的redis对象;

1.set key value

设置key(将字符串值value关联到key),默认生命周期为永久,如果key已经被设置,key所关联的字符串值将被覆盖,无视key的类型;

linux命令:

127.0.0.1:6379> set name hello
OK

php命令:

$redis->set('sex','man');

 

2.get key

返回key所关联的字符串值,如果key不存在则返回特殊值nil,如果key存储的值不是字符串类型,返回一个错误,因为get只能用于处理字符串值。

linux命令:

127.0.0.1:6379> get name
"hello"

php命令:

echo $redis->get('name');

 

3.exists key

检查给定key是否存在,存在返回1,否则返回0

linux命令:

127.0.0.1:6379> exists name
(integer) 1

php命令:

echo $redis->exists('name');

 

 4.type key

 返回key所储存的值的类型,php命令返回值(返回的为整数):

none(key不存在) int(0);

string(字符串) int(1);

list(列表) int(3);

set(集合) int(2);

zset(有序集) int(4);

hash(哈希表) int(5);

linux命令:

127.0.0.1:6379> type name
string

php命令:

echo $redis->type('name');

 

5.keys pattren

查找符合模式的key,返回符合给定模式的key列表,基本用法举例说明:

name 就是命中 name;

* 命中当前数据库中所以有的key;

*name 命中以name结尾的key;

name*命中以name开头的key;

n*ame 命中以n开头ame结尾的key;

n?ame 命中以n开头,后面接一个字符,再以ame结尾的key;

其实还有很多,实际上keys可以按照正则规则来获取key列表的;

linux命令:

127.0.0.1:6379> keys *
1) "abc"
2) "sex"
3) "name"

php命令:

$keys = $redis->keys('*');
dump($keys);

 

6.del key [key...]

移除给定的一个或多个key,linux命令以空格分隔,可以一次移除多个key,php命令还可以使用数组移除多个key,返回被移除key的数量

linux命令:

127.0.0.1:6379> del abc
(integer) 1
127.0.0.1:6379> del sex name
(integer) 2

php命令:

echo $redis->del('name');
echo $redis->del('abc','sex');
echo $redis->del(array('abc','sex'));

 

7.dbsize

返回当前数据库的 key 的数量

linux命令:

127.0.0.1:6379> dbsize
(integer) 2

php命令:

echo $redis->dbSize();

 

8.rename key newkey

将key改名为newkey,当key和newkey相同或者key不存在时,返回一个错误;当newkey已经存在时,将覆盖原来的值,无视类型

linux命令:

127.0.0.1:6379> rename list name
OK

php命令:

$redis->rename('list','name');

 

9.renamenx key newkey (nx有not exit的意思)

当且仅当 newkey 不存在时,将 key 改名为 newkey,修改成功时,返回 1 。如果 newkey 已经存在,返回 0 。

linux命令:

127.0.0.1:6379> renamenx sex aaa
(integer) 1

php命令:

$redis->renameNx('sex ','aaa');

 

 

10.expire key seconds

为给定key设置生存时间,当key过期时,它会被自动删除,单位为;设置成功返回1,其他返回0。

linux命令:

127.0.0.1:6379> expire name 60
(integer) 1

php命令:

$redis->expire('name',60);

 

11.ttl key

返回给定key的剩余生存时间(以为单位),当 key 不存在时,返回 -2 ;当 key 存在但没有设置剩余生存时间时,返回 -1;

 

linux命令:

127.0.0.1:6379> ttl name
(integer) 57

php命令:

echo $redis->ttl('name');

 

 

12.pexpire key milliseconds

返回给定key的剩余生存时间(以毫秒为单位),设置成功,返回 1;key 不存在或设置失败,返回 0;1秒(s)=1000毫秒(ms)

linux命令:

127.0.0.1:6379> pexpire name 60000
(integer) 1

php命令:

$redis->pExpire('name',60000);

 

13.pttl key

返回给定key的剩余生存时间(以毫秒为单位),当 key 不存在时,返回 -2 。当 key 存在但没有设置剩余生存时间时,返回 -1 。

 

linux命令:

127.0.0.1:6379> pttl name
(integer) 50307

php命令:

echo $redis->pttl('name');

 

 

14.persist key

移除给定 key 的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key ),当生存时间移除成功时,返回 1 .如果 key 不存在或 key 没有设置生存时间,返回 0 。

linux命令:

127.0.0.1:6379> persist aaa
(integer) 1

php命令:

$redis->persist('a');

 

15.randomkey

从当前数据库中随机返回(不删除)一个 key ,当数据库不为空时,返回一个 key 。当数据库为空时,返回 nil 。

linux命令:

127.0.0.1:6379> randomkey
"aaa"

php命令:

echo $redis->randomKey();

 

转载于:https://www.cnblogs.com/fornorth/p/9190914.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值