Redis的数据类型
Key:也就是属性的名称,这个很好理解。
String:就是字符串。
List:它是指一个有序的字符串的列表。
Hashes:和对象类似,它里面可以放“字段--值(field-value)”对。
Set:一个字符串集合,里面的字符串是无序的,也是唯一的。
Sorted Set:也是字符串集合,但是它有用户自定义的顺序。
Redis如何保存数据
首先,数据是保存在内存里的。
而保存方式可以有两种:
RDB:Redis databse file
AOF:Append-only file
使用AOF的时候,会把所有的操作都记录(log)在系统文件里。所以当Redis服务器重启的时候,它根据这个文件重建数据库。这个文件会很迅速的变得很大,但是当它比较大的时候,Redis还是比较智能的,它会重新开始使用最新版的数据集,把文件压缩到可控的大小。
而RDB就和快照操作很相似了,它会创建数据在某个时间点的副本备份,如果有灾难发生,就可以恢复数据了。
当符合一些条件的时候,例如新添加了多少条数据或者过了多少时间,Redis就会对数据做一个快照,并写入RDB文件。
当你安装好Redis之后,默认采取的就是RDB。
设置Redis存储方式
设置Redis数据库的最佳策略是:使用AOF是因为它的速度和可用性,使用RDB是因为灾难恢复这个特性。所以使用两种方式的话,就几乎可以适用于任何场景了。
如果需要设置存储方式的话就需要修改Redis的redis.conf这个文件了,如果您没有使用docker,那么您很简单就会从安装目录找到这个文件。但是使用docker的话想找到这个redis.conf就稍微麻烦了一点。但是可以到这个网址去下载Redis稳定版默认的redis.conf文件:http://download.redis.io/redis-stable/。
RDB部分;
下载后,打开该文件,找到SNAPSHOTTING这部分:
而最下面那三排就是RDB的默认配置。
save 900 1表示过了900秒之后,如果至少1个key变化了,那么就会创建数据库快照。
save 300 10就是300秒后,如果至少10个key发生了变化,就会进行快照。
save 60 10000就是60秒后,如果10000个key发生变化,就来个快照。
在这里,您可以加入自己的配置:
例如5秒钟后,至少100000个key发生了变化,就会快照。这个适合于数据库比较大,变化多且频繁的那种。
AOF部分;
找到appendonly这部分,默认是没有开启的,把no改成yes,就开启了AOF。:
现在要做的就是使用这个配置文件来启动redis server。使用这个命令,把配置文件路径作为参数添加到命令里:
docker run -vF:\Downloads/redis.conf:/usr/local/etc/redis/redis.conf --name my-redis -p 6379:6379 redis redis-server /usr/local/etc/redis/redis.conf
其中红色的部分是配置文件在我电脑里的路径。
输入该命令后,会提示Docker请求访问我的F盘:
点击Share it,输入密码后,就可以使用我刚修改的redis.conf这个配置文件了。
然后大概会出现这个画面:
执行docker ps,可以看到新容器正在运行:
验证一下AOF是否已经启用成功。我需要连接这个docker容器,使用该命令:
docker exec -it41bash
其中这个41是容器的ID的开头两位。
执行后可以看到生成了aof文件:
今天先到这。。。
领取专属 10元无门槛券
私享最新 技术干货