Ⅰ redis2.2和redis2.8的区别
根据Redis 两个版本的测试结果对比得出以下结论
一、Redis 2.6主从同步在网络闪断的情况下会自动开启新的端口进行重新链,同时会进行一下操作:
1、断开链接的从会向主发送SYNC命令
2、然后主fork进程导出rdb文件发送到从
3、从接收到完整的数据后,清空Redis内数据然后在从RDB中恢复
但是根据测试结果发现以下问题:
1、多个主从关系同时断开的时候,主导出RDB文件时,会占用大量内存
2、从接收到完整数据后,恢复数据的时候,会清空数据,这时候由于Redis数据量很大,目前10G左右内存恢复速度大约1分钟左右,这一分钟内,很多请求无法获取数据
3、在从RDB恢复数据的过程中,部分请求会被阻塞,导致请求超时(目前报警无法获取数据根次有关)
二、Redis 2.8.8 没有发现以上问题,因为Redis 2.8链接闪断重新连接后,从会从断开之前的主从同步进度开始继续同步,不会有全量恢复的问题
三、Redis 2.8 和 Redis 2.6 在进行save操作的时候,save过程中所有的请求都会被阻塞,导致前端请求失败,所以不要再查询的从上进行save操作
根据以上得出建议:
1、Redis 升级到 2.8 以上,保证数据主从同步时候的可用性
2、不要直接在Redis从或主上进行save操作,可以按王彬的建议在关键节点增加新的从用于save备份使用
3、建议优化Redis存储,单个端口存储数据不要过大,这样可以保证单个端口挂掉数据数据时候的速度,和影响面积
Redis 2.8和SSDB性能对比
SSDB 1.6.8.6
顺序写 : 1.645 ms/op 59.4 MB/s
随机写 : 1.679 ms/op 58.2 MB/s
顺序读 : 1.286 ms/op 75.9 MB/s
随机读 : 1.225 ms/op 79.7 MB/s
rpush : 1.546 ms/op 63.2 MB/s
lpop : 1.303 ms/op 74.9 MB/s
Redis 2.8.8
顺序写 : 1.617 ms/op 60.4 MB/s
随机写 : 1.214 ms/op 80.4 MB/s
顺序读 : 1.156 ms/op 84.5 MB/s
随机读 : 1.153 ms/op 84.7 MB/s
rpush : 1.222 ms/op 79.9 MB/s
lpop : 1.153 ms/op 84.7 MB/s
Ⅱ redis中怎么备份数据
Redis SAVE 命令用于创建当前数据库的备份
下面建立一个set集合,然后备份,删除集合中"if exists , i can backup"值,再恢复,当看到"ifexists , i can backup"值时,说明则说明备份和恢复都成功。
建立集合test_backup
127.0.0.1:6379> sadd test_backup "backup"
(integer) 1
127.0.0.1:6379> sadd test_backup "if exists , i can backup"
(integer) 1
127.0.0.1:6379> smembers test_backup
1) "if exists , i can backup"
2) "backup"
备份
127.0.0.1:6379> save
OK
查看备份文件(默认存放在redis的安装目录中)
[root@localhost src]# ll *.rdb
-rw-r--r--. 1 root root 361 Oct 31 10:31mp.rdb
Ⅲ 如何将redis数据备份到本地
下载完后将其解压放在自己要放的目录下解压后的目录如果你是32位的话就进32bit的文件夹,64位就进64bit文件夹文件夹进去后会看到一下的几个文件redis-benchmark.exe: 性能测试 模拟N个客户端发送set,get请求redis-check-aof.exe:更新日志检查redis-check-mp.exe:本地数据库检查redis-server.exe:服务程序接下来就是安装了打开dos命令栏,进入到redis的目录下面,输入以下命令:redis-server.exe redis.conf安装成功然后再打开一个dos命令栏,进入到redis的目录下,输入以下命令:redis-cli.exe -h 127.0.0.1 -p 6379测试一下set key value 存值get key 取值
Ⅳ Redis数据持久化,备份恢复问题
你要是用AOF的话,应该不需要复制mp文件吧?另外你复制前是怎么关闭slave的呢?或者尝试用 redis-check-aof 检查一下aof?
官方似乎建议只用 RDB,效率、备份什么的都更好些,虽然会丢失部分数据。
Ⅳ redis数据库中的数据为什么要备份
防止数据丢失
Ⅵ 怎么将腾讯云上的redis的数据备份到本地windows系统的redis中
这个问题啊,你不必备份数据的~因为系统本来就是自动备份的~~跨年的话一般都只保存当年的数据和去年12月份的数据,如果你要查去年或者前几年的数据的话进入开票系统后点数据维护--查询备份,里面有年度,你选择你要查询的年度,选择后点左上角的选择,开票系统会自动关闭并且开启,然后回到选择开票员的界面,你选择后进入系统,你会发现只有查询功能可用,其他功能全部禁用,因为你现在的时间只允许你查看但是不会让你开票的,你只能查询你刚点的查询备份里面你选择的年度的数据,一般来说只有当年的数据和上面的12月份的数据.......如果你是重装操作系统的话,我是说开票装在你的C盘,也就是系统盘,这样的话你要备份这个文件就可以了,C:\\Program Files\\航天信息\\防伪开票\\database\\default 这个文件夹就可以了,别的一概不管,因为database包含N多年内容,连日志都保存,一般你只需要备份你的开票数据就可以啦,日志你要着也没用,你重装了系统后打电话给客服,让他们上门安装就可以了,你只要告诉你备份的那个default 放哪里就行了,大哥`我打那么多字,多多少少也给我点分吧.呵呵`````因为我在客服做过,所以绝对可信的,嘻嘻``
Ⅶ redis和memcache的区别是什么
redis和memecache的不同在于:
1、存储方式:
memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小
redis有部份存在硬盘上,这样能保证数据的持久性。
2、数据支持类型:
redis在数据支持上要比memecache多的多。
3、使用底层模型不同:
新版本的redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。
4、运行环境不同:
redis目前官方只支持LINUX 上去行,从而省去了对于其它系统的支持,这样的话可以更好的把精力用于本系统 环境上的优化,虽然后来微软有一个小组为其写了补丁。但是没有放到主干上
http://blog.163.com/wz_pk007/blog/static/17062705020132123917817/
1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等。
2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。
3、虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘
4、过期策略--memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定,例如expire name 10
5、分布式--设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以一主一从
6、存储数据安全--memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化)
7、灾难恢复--memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复
8、Redis支持数据的备份,即master-slave模式的数据备份。
http://www.infoq.com/cn/articles/tq-why-choose-redis
实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:
MySQL需要不断进行拆库拆表,Mem
Ⅷ Linux crontab的一条语句解析
这是一个用于REDIS数据库备份的脚本
命令:/opt/redis/redis-2.6.9/backupRedisDump
备份路径:/opt/redis/redis-2.6.9/backup
备份源路径:/opt/redis/redis-2.6.9/src
备份文件名:appendonly.aof
日志路径:/opt/redis/redis-2.6.9/logs
每天9点和21点执行
Ⅸ 怎么查看redis的服务是不是主从备份
在Slave启动并连接到Master之后,它将主动发送一条SYNC命令。
此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台进程执行完毕后,Master将传送整个数据库文件到Slave,以完成一次完全同步。
而Slave服务器在接收到数据库文件数据之后将其存盘并加载到内存中。
此后,Master继续将所有已经收集到的修改命令,和新的修改命令依次传送给Slaves,Slave将在本次执行这些数据修改命令,从而达到最终的数据同步。