Redis是一个in-memory的data store,在记忆体中操作与储存让其可以达到很快的效能,但如果关闭Redis时.记忆体中的资料将会消失.
情境一:当Redis用途在cahce时,资料可能遗失了後再载入即可.
情境二:如果Redis当作资料库就必须要让资料可以永久保存起来,这时候持久化就相当重要,以便在Redsi服务启动时可以把需要的资料完整的载入提供所需.
情境三:有个额外的情境也需要特别关注,虽然cache资料没有了我们可以直接重新把需要的资料透过资料库取得并载入,但是资料量如果有10G甚至更多的时候,且这样在cache中的资料应该是需要常用到的资料,这样Redis服务在启用的时候很快,但要把常用资料都载入需要耗费非常多的时间和资料库的资源,这个情境下也就要考虑是否使用持久化的方式来加快载入减少资源的花费.
持久化有以下几个模式,可以在Redis正常或不正常关闭时,能够继续保有资料.
这个模式适用於资料不是特别重要,也就是允许失去所有资料也没关系,可以选择此模式.
此模式会在特定间隔时间条件达到时,将Redis在记忆体中的内容保存到RDB档案(二进位格式)中.也就是在特定时间点的快照.当Redis服务启动时,可以读取RDB档案来恢复到记忆体中.
优点:
缺点:
快照设定
# 取得目前快照设定
127.0.0.1:6379> config get save
1) "save"
2) "3600 1 300 100 60 10000"
# 取得目前rdb的档案名称
127.0.0.1:6379> config get dbfilename
1) "dbfilename"
2) "dump.rdb"
# 取得目前rdb档案存放位置
127.0.0.1:6379> config get dir
1) "dir"
2) "/usr/local/redis/bin"
# 马上产生rdb档案(测试使用,实际上会依照设定的间隔条件到达时进行)
127.0.0.1:6379> save
OK
# 马上产生rdb档案(fork子Process於背景执行,如果目前正在进行rdb or aof则会回传错误)
bgsasve
# 取得最近一次save的时间点,当回传的unixtimestamp不再变化时,表示bgsave已经完成
lastsave
# 排程产生rdb档案(如果目前aof正在进行中,则会回传OK,此次RDB则不会执行,会排程安排下次执行)
bgsave schedule
可以在redis.conf档案中设定snapshot区段的相关设定.
# 预设关闭服务时会执行产生RBD
shutdown save
# 关闭服务时不执行产生RDB
shutdown nosave
>>: Day18 NiFi - 与 AWS Athena & AWS Redshift 对接设定
今天是渗透测试进阶篇 没意外也会是渗透测试系列最後一篇, 当然也许最後会有几篇混合系列的文章, 还是...
为甚麽会出现动态连结? 动态连结出现的原因就是为了解决静态连结中提到的两个问题: 浪费空间,因为每个...
在昨天建置vue-cli插件时我们有新增vuex和vue-router,所以今天要先来介绍vue-r...
上一篇介绍了安装步骤与执行环境,接下来今天要撰写人生第一个Node.js。因为接下来要介绍的或是要展...
还没学到这个属性之前,一直以为必须使用到JavaScript,才能让网页有动画的效果,没想到用CS...