您的位置:首页 > 数据库 > Redis

Redis安装、配置、操作、持久化、主从、phpredis扩展安装使用详解之操作使用

2015-09-27 02:05 1156 查看
在NoSql中,Redis的操作使用都是非常简单和直接的,下面我会给出Redis的命令操作并附带给出Redis在PHP中的相关使用。关于phpredis的安装我会在后续给出,希望继续关注。

key 键的相关操作

exists key                  检测key是否存在
del key1 key2 ... keyN      删除给定的key,可一次删除多个key
type key                    返回给定key的value类型(string set list zset hash none六种类型)
keys pattern                返回匹配指定模式的所有key(pattern为正则匹配)
rename oldkey newkey        修改oldkey为newkey,newkey如果已经存在则会覆盖之
renamenx oldkey newkey      修改oldkey为newkey,newkey如果已经存在则修改不成功
dbsize                      返回当前数据库中的key的数量
expire key seconds          指定key的生存时间(秒)
ttl key                     获取key的剩余生存时间(秒)
select database-index       选择数据库(默认共16个数据库,默认为0号数据库)
move key database-index     将key从当前数据库移到指定的数据库中
flushdb                     删除当前数据库中所有key
flushall                    删除0-15号数据库中所有的key


string的相关操作

exists key                  检测key是否存在
del key1 key2 ... keyN      删除给定的key,可一次删除多个key
type key                    返回给定key的value类型(string set list zset hash none六种类型)
keys pattern                返回匹配指定模式的所有key(pattern为正则匹配)
rename oldkey newkey        修改oldkey为newkey,newkey如果已经存在则会覆盖之
renamenx oldkey newkey      修改oldkey为newkey,newkey如果已经存在则修改不成功
dbsize                      返回当前数据库中的key的数量
expire key seconds          指定key的生存时间(秒)
ttl key                     获取key的剩余生存时间(秒)
select database-index       选择数据库(默认共16个数据库,默认为0号数据库)
move key database-index     将key从当前数据库移到指定的数据库中
flushdb                     删除当前数据库中所有key
flushall                    删除0-15号数据库中所有的key


1、exists 检测key是否存在

127.0.0.1:6379> exists name
(integer) 0


注:存在返回(integer) 0,不存在返回(integer) 1

$redis->exists('name');


注:存在返回true,不存在返回false

2、del 删除给定的key,可一次性删除多个key

127.0.0.1:6379> del name
(integer) 1

127.0.0.1:6379> del name age
(integer) 2


注:删除成功返回(integer) 1(返回的为被删除key的数量),删除失败或是不存在的key则返回(integer) 0

$redis->delete('name');
$redis->delete(array('name','age'));

$redis->del('name');
$redis->del(array('name','age'));


注:这里的delete()方法与del()方法效果等同,但在redis命令中只有del没有delete命令

3、type 返回给定key的value类型(string set list zset hash none六种类型)

127.0.0.1:6379> type name
string


注:共存在string list set zset hash none五种类型结果,none为不存在的key

$redis->type('name');


注:返回结果为0~5的数字,分别对应:

1对应string、2对应set、3对应list、4对应zset、5对应hash、0对应不存在的key

4、keys 返回匹配指定模式的所有key(pattern为正则匹配)

127.0.0.1:6379> keys *
1) "car"
2) "name"
3) "list"
4) "age"
5) "china"


注:返回所有pattern匹配到的所有key

$redis->keys('*');

$redis->getKeys('*');


注:返回所有pattern匹配到的所有key的数组集

5、rename 修改原始key为新key,值value和过期时间都不发生变化,但新key会覆盖已经存在的key

127.0.0.1:6379> rename sex gender
OK


注:修改成功返回OK,如果没有sex这个key失败返回(error) ERR no such key,新key如果已经存在则会覆盖之

$redis->rename('sex','gender');


注:成功返回true,失败返回false

6、renamenx 修改原始key为新key,值value和过期时间都不发生变化,但新key如果已经存在则修改不成功

127.0.0.1:6379> renamenx sex gender
(integer) 0


注:成功返回(integer) 1,失败返回(integer) 0,如果没有sex这个key失败返回(error) ERR no such key,如果新key已经存在则修改不成功

$redis->renamenx();


注:成功返回true,失败返回false

7、dbsize 返回当前数据库中的key的数量

127.0.0.1:6379> dbsize
(integer) 8


注:返回当前数据库中所有key的个数

$redis->dbsize();


注:返回当前数据库中所有key的个数

8、expire 返回指定key的生存时间(秒)

127.0.0.1:6379> expire name 50
(integer) 1


注:成功返回(integer) 1,失败返回(integer) 0

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

$redis->setTimeout('name',50);


注:成功返回true,失败返回false

9、ttl 获取key的剩余生存时间(秒)

127.0.0.1:6379> ttl name
(integer) -2


注:当key不存在时返回为-2,存在并且永不过期返回(integer) -1,其余情况都返回剩余过期时间(秒)

$redis->ttl('name');


注:当key不存在时返回为-2,存在并且永不过期返回(integer) -1,其余情况都返回剩余过期时间(秒)

10、select 选择数据库(默认共16个数据库,默认为0号数据库)

127.0.0.1:6379> select 2
OK

127.0.0.1:6379[2]> select 100
(error) ERR invalid DB index


注:选择数据库,如果选择了不存在的数据库则返回(error) ERR invalid DB index

$redis->select(2);

$redis->select(100);


注:成功返回true,失败返回false

11、move 将key从当前数据库移到指定的数据库中

127.0.0.1:6379> move car 2
(integer) 1


注:成功返回(integer) 1,如果key不存在则返回(integer) 0,如果数据库不存在则返回(error) ERR index out of range

$redis->move('car',2);


注:成功返回true,失败返回false

12、flushdb 删除当前数据库中所有key

127.0.0.1:6379> flushdb
OK


注:成功返回OK,失败返回啥呢(不太清楚)

$redis->flushdb();


注:成功返回true,失败返回false

13、flushall 删除0-15号数据库中所有的key

127.0.0.1:6379> flushall
OK


注:成功返回OK,失败返回啥呢(不太清楚)

$redis->flushall();


注:成功返回true,失败返回false
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: