Redis安装及配置主从复制

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

 Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。Redis 是一个高性能的key-value数据库。
redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。(以上内容摘自百度百科)

一:下载redis并安装

 
  1. [root@server11 ~]# wget http://redis.googlecode.com/files/redis-2.6.4.tar.gz  
  2. [root@server11 ~]# tar -zxvpf redis-2.6.4.tar.gz   
  3. [root@server11 ~]# cd redis-2.6.4  
  4. [root@server11 redis-2.6.4]# make install 

32位操作系统上可能会出现如下报错:
zmalloc.o: In function `zmalloc_used_memory':
/root/redis-2.6.4/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'
collect2: ld returned 1 exit status
make[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/root/redis-2.6.4/src'
make: *** [all] Error 2

解决方案参考:
https://groups.google.com/forum/?fromgroups#!topic/redis-db/NI_d00he39o

二:编辑redis配置文件,启动redis

 
  1. [root@server11 ~]# mkdir -p /usr/local/redis2/{bin,etc,var}  
  2. [root@server11 redis-2.6.4]# cp redis.conf /usr/local/redis2/etc/  
  3. [root@server11 redis-2.6.4]# cp /usr/local/bin/redis-* /usr/local/redis2/bin/  
  4.  
  5. [root@server11 ~]# grep -v '^#' /usr/local/redis2/etc/redis.conf |grep -v '^$' //各参数含义在配置文件中有具体的解释和介绍  
  6. daemonize yes   
  7. pidfile /usr/local/redis2/var/redis.pid  
  8. port 6379  
  9. bind 192.168.1.112   
  10. timeout 300   
  11. loglevel notice  
  12. logfile stdout  
  13. databases 16  
  14. save 900 1  
  15. save 300 10  
  16. save 60 10000  
  17. stop-writes-on-bgsave-error yes  
  18. rdbcompression yes  
  19. rdbchecksum yes  
  20. dbfilename dump.rdb  
  21. dir ./  
  22. slave-serve-stale-data yes  
  23. slave-read-only yes  
  24. slave-priority 100  
  25. appendonly no  
  26. appendfsync everysec  
  27. no-appendfsync-on-rewrite no  
  28. auto-aof-rewrite-percentage 100  
  29. auto-aof-rewrite-min-size 64mb  
  30. lua-time-limit 5000  
  31. slowlog-log-slower-than 10000  
  32. slowlog-max-len 128  
  33. hash-max-ziplist-entries 512  
  34. hash-max-ziplist-value 64  
  35. list-max-ziplist-entries 512  
  36. list-max-ziplist-value 64  
  37. set-max-intset-entries 512  
  38. zset-max-ziplist-entries 128  
  39. zset-max-ziplist-value 64  
  40. activerehashing yes  
  41. client-output-buffer-limit normal 0 0 0  
  42. client-output-buffer-limit slave 256mb 64mb 60  
  43. client-output-buffer-limit pubsub 32mb 8mb 60  
  44.  
  45. [root@server11 ~]# /usr/local/redis2/bin/redis-server  /usr/local/redis2/etc/redis.conf   
  46. [root@server11 ~]# netstat -ntpl |grep 6379  
  47. tcp        0      0 192.168.1.112:6379          0.0.0.0:*                   LISTEN      6044/redis-server    
  48.  
  49. [root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112  
  50. redis 192.168.1.112:6379> set number 100  
  51. OK  
  52. redis 192.168.1.112:6379> get number  
  53. "100"  
  54. redis 192.168.1.112:6379> del number  
  55. (integer) 1  
  56. redis 192.168.1.112:6379> get number  
  57. (nil)  
  58. redis 192.168.1.112:6379> quit 

三: redis主从配置,关闭主节点的redis实例,复制/usr/local/redis2/目录至从节点

 
  1. [root@server11 ~]# ps -ef |grep redis  
  2. root      6044     1  0 09:37 ?        00:00:00 /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf  
  3. root      6072 27475  0 09:44 pts/1    00:00:00 grep redis  
  4. [root@server11 ~]# kill 6044  
  5. [root@server11 ~]# scp -rvp /usr/local/redis2/ root@192.168.1.113:/usr/local/  
  6.  
  7. [root@server12 ~]# grep -v '^#'  /usr/local/redis2/etc/redis.conf  |grep -v '^$' //注意红色字体部分  
  8. daemonize yes   
  9. pidfile /usr/local/redis2/var/redis.pid  
  10. port 6379  
  11. bind 192.168.1.113  
  12. timeout 300   
  13. loglevel notice  
  14. logfile stdout  
  15. databases 16  
  16. save 900 1  
  17. save 300 10  
  18. save 60 10000  
  19. stop-writes-on-bgsave-error yes  
  20. rdbcompression yes  
  21. rdbchecksum yes  
  22. dbfilename salve.rdb  
  23. dir ./  
  24. slaveof 192.168.1.112 6379  
  25. slave-serve-stale-data yes  
  26. slave-read-only yes  
  27. slave-priority 100  
  28. appendonly no  
  29. appendfsync everysec  
  30. no-appendfsync-on-rewrite no  
  31. auto-aof-rewrite-percentage 100  
  32. auto-aof-rewrite-min-size 64mb  
  33. lua-time-limit 5000  
  34. slowlog-log-slower-than 10000  
  35. slowlog-max-len 128  
  36. hash-max-ziplist-entries 512  
  37. hash-max-ziplist-value 64  
  38. list-max-ziplist-entries 512  
  39. list-max-ziplist-value 64  
  40. set-max-intset-entries 512  
  41. zset-max-ziplist-entries 128  
  42. zset-max-ziplist-value 64  
  43. activerehashing yes  
  44. client-output-buffer-limit normal 0 0 0  
  45. client-output-buffer-limit slave 256mb 64mb 60  
  46. client-output-buffer-limit pubsub 32mb 8mb 60 

四:分别启动主从节点redis实例并测试

 
  1. [root@server11 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf   
  2. [root@server12 ~]# /usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf   
  3.  
  4. [root@server12 ~]# netstat -ntpl |grep 6379  
  5. tcp        0      0 192.168.1.113:6379          0.0.0.0:*                   LISTEN      16653/redis-server    
  6.  
  7. [root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.112  
  8. redis 192.168.1.112:6379> set number 1  
  9. OK  
  10. redis 192.168.1.112:6379> get number   
  11. "1"  
  12. redis 192.168.1.112:6379> quit  
  13.  
  14. [root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.113  
  15. redis 192.168.1.113:6379> get number  
  16. "1"  
  17. redis 192.168.1.113:6379> del number  
  18. (error) READONLY You can't write against a read only slave.  
  19. redis 192.168.1.113:6379> quit 

 本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/1065549如需转载请自行联系原作者


ylw6006

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
11天前
|
NoSQL Linux 测试技术
Redis的安装(Linux版)
Redis的安装(Linux版)
164 2
|
21天前
|
NoSQL Linux Redis
linux 下和win下安装redis 并添加开机自启 图文详解
linux 下和win下安装redis 并添加开机自启 图文详解
17 0
|
2月前
|
NoSQL Java Redis
Springboot从2.x升级到3.x以后redis默认配置调整
Springboot从2.x升级到3.x以后redis默认配置调整
49 0
|
3月前
|
NoSQL Redis
若依管理系统去掉Redis相关配置
若依管理系统去掉Redis相关配置
|
3月前
|
NoSQL Redis 数据安全/隐私保护
Docker中Redis的安装与配置
本文主要讲解如何在Docker环境中搭建Redis环境,并进行相关配置
248 5
Docker中Redis的安装与配置
|
2月前
|
NoSQL Linux Redis
Linux系统中安装redis+redis后台启动+常见相关配置
Linux系统中安装redis+redis后台启动+常见相关配置
|
4天前
|
NoSQL 安全 Redis
聊聊Redis主从复制
聊聊Redis主从复制
26 0
|
20天前
|
NoSQL Linux Redis
Redis的版本选择与Linux下的安装(全网最细保姆级别教学)
Redis的版本选择与Linux下的安装(全网最细保姆级别教学)
33 0
|
22天前
|
监控 NoSQL Redis
redis主从复制
redis主从复制
|
29天前
|
NoSQL Linux Redis
Linux安装Redis
Linux安装Redis
31 0