`
eric_weitm
  • 浏览: 235933 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

redis 配置和使用

 
阅读更多

redis 配置和使用

一、安装:

cd /usr/src

tar xzf redis-3.0.7.tar.gz

cd redis-3.0.7

make

cd src

make install PREFIX=/usr/local/redis

mkdir /usr/local/redis/etc/

mv redis.conf /usr/local/redis/etc/

 

启动:

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

/usr/local/redis/bin/redis-cli shutdown

 

二、配置

echo 1 > /proc/sys/vm/overcommit_memory

echo 511 > /proc/sys/net/core/somaxconn

echo never > /sys/kernel/mm/transparent_hugepage/enabled

1、允许外部访问:

firewall-cmd --zone=public --add-port=6379/tcp

/usr/local/redis/bin/redis-cli

CONFIG SET protected-mode no

CONFIG REWRITE

2、配置文件例子:

include /usr/local/redis/etc/redis.conf

port 6379

pidfile "/root/workspace/java/redis_6379.pid"

# debug notice warning

loglevel notice

logfile "/root/workspace/java/redis.log"

dbfilename "dump.rdb"

dir "/usr/src/redis-3.2.9"

3、使用lua脚本 , 两边的空格代表key和参数

redis-cli -p 6379 --ldb --eval api.lua k1 k2 , arg1 arg2

 

 

三、主从复制replication

增加冗余可靠性,扩展性,主库避免io。一定程度上保证CAP中的C。

1、过程

1》slave -> mastr  SYNC

2> master bgsave(rdb)

3》发给slave 后续修改

2、配置:

从服务器

SLAVEOF 192.168.1.1 10086

config set masterauth <password> 或 masterauth pwd 

主服务器:

min-slaves-to-write <number of slaves>

min-slaves-max-lag <number of seconds>

 

四、HA 高可用性

1、CAP理论:

C(一致性):所有的节点上的数据时刻保持同步

A(可用性):每个请求都能接受到一个响应,无论响应成功或失败

P(分区容错):系统应该能持续提供服务,即使系统内部有消息丢失(分区)

高可用、数据一致是很多系统设计的目标,但是分区又是不可避免的事情:

CA without P:如果不要求P(不允许分区),则C(强一致性)和A(可用性)是可以保证的。但其实分区不是你想不想的问题,而是始终会存在,因此CA的系统更多的是允许分区后各子系统依然保持CA。

CP without A:如果不要求A(可用),相当于每个请求都需要在Server之间强一致,而P(分区)会导致同步时间无限延长,如此CP也是可以保证的。很多传统的数据库分布式事务都属于这种模式。

AP wihtout C:要高可用并允许分区,则需放弃一致性。一旦分区发生,节点之间可能会失去联系,为了高可用,每个节点只能用本地数据提供服务,而这样会导致全局数据的不一致性。现在众多的NoSQL都属于此类。

CP适合于金融,AP适合于游戏

2、redis 持久化格式

rdb:快

aof:类似于mysql binlog,更可靠

容灾:拷贝rdb文件

 

3、Sentinel:故障迁移,保证可用性

redis-server /path/to/sentinel.conf --sentinel

 

配置例子:

sentinel monitor mymaster 127.0.0.1 6379 2

sentinel down-after-milliseconds mymaster 60000

sentinel failover-timeout mymaster 180000

sentinel parallel-syncs mymaster 1

 

sentinel monitor resque 192.168.1.3 6380 4

sentinel down-after-milliseconds resque 10000

sentinel failover-timeout resque 180000

sentinel parallel-syncs resque 5

 

五、集群cluster(服务端透明sharding和failover)

1、工具 redis-trib.rb 半自动化

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics