Redis学习(下)

Redis学习(下)

Redis Keys操作

1
2
3
4
5
6
7
8
keys * #查询所有keys,*,?,[]都是通配符,*匹配任意多个字符,?匹配一个字符,[]匹配括号内某一个字符
keys test* #查询所有以test开头的keys
del [key1] [key2] ... #删除keys
exists [key] #判断key是否存在,存在为1,不存在为0
rename [oldkey] [newkey] #重命名key
expire [key] [seconds] #设置key的过期时间,单位秒
ttl [key] #查询key的剩余时间,当key没有设置过期时间,返回-1
type [key] #获取key的类型

Redis特性

多数据库

一个Redis实例可以包含多个数据库,客户端可以指定连接哪个数据库。一个redis实例最多可以提供16个数据库,下标从0到15,客户端默认连接0号数据库。

  1. 选择数据库
1
select [number] #选择数据库
  1. 将数据库中的key移动到另一个数据库
1
move [key] [number] #将当前数据库中的key移动到number号数据库中
Redis事务

redis数据库的事务命令主要有multiexecdiscard。其中multi是开启事务的命令,开启后输入的操作都将记录到事务队列,等到提交时才会执行。exec是执行事务的命令,discard是清除事务队列中的操作的命令。在一个客户端事务执行过程中不会接受另一个客户端发出的请求,事务中的命令要么全部执行,要么全不执行。

Redis持久化

由于redis的所有数据都存储在内存中,为了保证重启之后数据不丢失,就需要将数据从内存中同步到硬盘,这个过程就叫持久化。redis的持久化主要有RDB方式和AOF方式,可以选择其中一种或两种作为持久化方式。他们的详细介绍点击这里

RDB持久化

redis默认支持的持久化方式,在指定的时间间隔内将数据写入到硬盘中。

配置

在redis.conf配置文件中

1
2
3
4
5
6
save 900 1 #每900秒,当key发生1次变化时,就会持久化一次
save 300 10 #每300秒,当key发生10次变化时,会持久化一次
save 60 10000 #每60秒,当key发生10000次变化时,会持久化一次

dbfilename dump.rdb #备份的文件名称叫dump.rdb
dir ./ #备份路径在redis的根目录
AOF持久化

这种机制以日志的方式将执行的每一步操作都记录在硬盘中,在redis启动时,通过这些日志重新构建数据库。

配置

在redis.conf配置文件中

1
2
3
4
5
6
appendonly no #没有打开aof方式,如果使用应改为yes
appendfilename "appendonly.aof" #aof模式文件名

#appendfsync always #always每修改一次就会同步,如果使用aof,推荐这种
appendfsync everysec #每秒同步
#appendfsync no #不同步

当然可以通过配置来禁用持久化功能,通常将redis作为缓存时使用;也可以同时使用RDB和AOF方式。

# Java, Redis
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×