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

在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2.1 Redis安装配置: 1. 下载Redis安装包:官网下载地址为 https://redis.io/download 。 2. 解压Redis安装包:使用命令 tar -zxvf redis-x.x.x.tar.gz 进行解压。 3. 进入解压后的Redis目录,使用命令 make 编译Redis。 4. 编译完成后,使用命令 make test 进行测试。 5. 安装Redis使用命令 make install 进行安装。 6. 配置Redis:进入Redis目录中的 /redis.conf 文件,修改配置文件中的端口号、密码等参数。 7. 启动Redis使用命令 redis-server 启动Redis服务。 2.2 Redis数据操作Redis是一种内存数据库,它支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等。 下面是Java使用Redis操作示例: 1. 引入Redis依赖: <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> 2. 连接Redis: Jedis jedis = new Jedis("localhost"); 3. 存储数据: jedis.set("key", "value"); 4. 获取数据: String value = jedis.get("key"); 5. 删除数据: jedis.del("key"); 6. 存储哈希: Map<String, String> map = new HashMap<>(); map.put("field1", "value1"); map.put("field2", "value2"); jedis.hmset("key", map); 7. 获取哈希: Map<String, String> map = jedis.hgetAll("key"); 8. 存储列表: jedis.lpush("key", "value1", "value2"); 9. 获取列表: List<String> list = jedis.lrange("key", 0, -1); 10. 存储集合: jedis.sadd("key", "value1", "value2"); 11. 获取集合: Set<String> set = jedis.smembers("key"); 12. 存储有序集合: jedis.zadd("key", 1, "value1"); jedis.zadd("key", 2, "value2"); 13. 获取有序集合: Set<String> set = jedis.zrange("key", 0, -1);

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值