Redis in.NET Core(2)

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文件:

今天先到这。。。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180930G1XGBB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券