Redis随笔

作者: t_wayne | 来源:发表于2016-08-02 16:02 被阅读0次

#RDB 和 AOF

RDB 是一个非常紧凑(compact)的文件,它保存了 Redis 在某个时间点上的数据集,可以 24 小时备份一次,可以每小时备份一次 ,RDB 非常适用于灾难恢复(disaster recovery):它只有一个文件,并且内容都非常紧凑,RDB 可以最大化 Redis 的性能。如果需要尽量避免在服务器故障时丢失数据,那么 RDB 并不适合,因为RDB 文件需要保存整个数据集的状态,因此可能至少 5 分钟才保存一次 RDB 文件,在这种情况下,一旦发生故障停机,可能会丢失好几分钟的数据。

AOF 文件是一个只进行追加操作的日志文件,AOF 持久化会让 Redis 变得非常耐久(much more durable):设置不同的 fsync 策略,比如无 fsync ,每秒钟一次 fsync ,或者每次执行写入命令时 fsync 。AOF 的默认策略为每秒钟 fsync 一次,在这种配置下,Redis 仍然可以保持良好的性能,并且就算发生故障停机,也最多只会丢失一秒钟的数据( fsync 会在后台线程执行,所以主线程可以继续努力地处理命令请求)。对于相同的数据集来说,AOF 文件的体积通常要大于 RDB 文件的体积。根据所使用的 fsync 策略,AOF 的速度可能会慢于 RDB 。

一般来说,如果想达到足以媲美 PostgreSQL 的数据安全性, 你应该同时使用两种持久化功能。如果你非常关心你的数据,但仍然可以承受数分钟以内的数据丢失, 那么你可以只使用 RDB 持久化。有很多用户都只使用 AOF 持久化, 但我们并不推荐这种方式: 因为定时生成 RDB 快照(snapshot)非常便于进行数据库备份, 并且 RDB 恢复数据集的速度也要比 AOF 恢复的速度要快, 除此之外, 使用 RDB 还可以避免之前提到的 AOF 程序的 bug 。

#连接实例

redis-cli -h 10.205.20.8 -p 6379 -c

-c表示集群模式

#注意

错误 /usr/bin/env: ruby: No such file or directory,解决方法:

apt-get install ruby

Redis集群需要开放端口号+10000(集群内部使用端口),不然集群连接不上

#启动Redis集群镜像,Docker中必须使用host模式

docker run -itd --net host --name redis-cluster 10.170.232.47:5000/redis3.2

进入容器,分别启动以下实例:

redis-server /opt/cachecloud/conf/static/redis-cluster-6379.conf > /opt/cachecloud/logs/redis-6379.log 2>&1 &

redis-server /opt/cachecloud/conf/static/redis-cluster-6380.conf > /opt/cachecloud/logs/redis-6380.log 2>&1 &

redis-server /opt/cachecloud/conf/static/redis-cluster-6381.conf > /opt/cachecloud/logs/redis-6381.log 2>&1 &

redis-server /opt/cachecloud/conf/static/redis-cluster-6382.conf > /opt/cachecloud/logs/redis-6382.log 2>&1 &

redis-server /opt/cachecloud/conf/static/redis-cluster-6383.conf > /opt/cachecloud/logs/redis-6383.log 2>&1 &

redis-server /opt/cachecloud/conf/static/redis-cluster-6384.conf > /opt/cachecloud/logs/redis-6384.log 2>&1 &

创建集群

redis-trib.rb create --replicas 1 10.205.20.8:6379 10.205.20.8:6380 10.205.20.8:6381 10.205.20.8:6382 10.205.20.8:6383 10.205.20.8:6384

选项–replicas 1 表示为集群中的每个主节点创建一个从节点

#redis-cluster-6379.conf配置

bind 10.172.240.66

protected-mode yes

tcp-backlog 511

timeout 0

tcp-keepalive 0

daemonize no

loglevel notice

databases 16

slave-serve-stale-data yes

slave-read-only yes

slave-priority 100

repl-ping-slave-period 10

repl-timeout 60

repl-disable-tcp-nodelay no

repl-backlog-size 10mb

repl-backlog-ttl 7200

maxmemory 256mb

maxmemory-policy volatile-lru

no-appendfsync-on-rewrite yes

lua-time-limit 5000

slowlog-log-slower-than 10000

slowlog-max-len 128

hash-max-ziplist-entries 512

hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

activerehashing yes

client-output-buffer-limit normal 0 0 0

client-output-buffer-limit slave 512mb 128mb 60

client-output-buffer-limit pubsub 32mb 8mb 60

hz 10

port 6379

dbfilename dump-6379.rdb

dir /opt/cachecloud/data

appendonly no

appendfsync everysec

appendfilename appendonly-6379.aof

auto-aof-rewrite-percentage 94

auto-aof-rewrite-min-size 64mb

cluster-enabled yes

cluster-config-file nodes-6379.conf

cluster-node-timeout 15000

cluster-slave-validity-factor 10

cluster-migration-barrier 1

cluster-require-full-coverage no

aof-rewrite-incremental-fsync yes

相关文章

  • 2018-08-06

    非关系类-redis - 随笔分类 - 风的_理想 - 博客园 Redis多机常用架构-sentinel - 风的...

  • Redis随笔

    #Redis的五种数据类型 1、String 常用命令: get、set、incr、decr、getset mse...

  • Redis随笔

    #RDB 和 AOF RDB 是一个非常紧凑(compact)的文件,它保存了 Redis 在某个时间点上的数据集...

  • Redis随笔(1)

    ShardedJedis是基于一致性哈希算法实现的分布式Redis集群客户端 Redis操作都是原子的,不用考虑并...

  • redis常用命令教程

    Redis 基础教程 Redis 教程、Redis 安装、Redis 配置、Redis 数据类型 Redis 命令...

  • redis 集群搭建

    redis 安装步骤 创建redis用户 useradd redis passwd redis 切换redis用户...

  • Redis cheatsheet 常用命令

    Run redis 运行redis server cd redis/; ./redis-server运行redis...

  • 点评不只是为了链接——007践行之旅(13)

    (太累了,回头更新) 周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末...

  • redis常用命令

    查看redis进程 连接redis redis启动 redis停止 redis查看配置文件 redis查看最大连接...

  • Linux/Mac安装Redis数据库

    Mac安装Redis brew安装redis 安装Redis brew install redis 启动redis...

网友评论

    本文标题:Redis随笔

    本文链接:https://www.haomeiwen.com/subject/cwgfsttx.html