Redis安装与配置

下载

  1. Redis官网下载redis 最新稳定版本
  2. 解压到 /usr/local/ 目录下

安装

1
make && make test && make install

make时报如下错误:

1
2
3
4
5
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
make: *** [all] Error 2

原因是jemalloc重载了Linux下的ANSI C的malloc和free函数。 解决办法:

1
make MALLOC=libc

redis 生产环境启动方案

  1. redis utils 目录下,有个redis_init_script脚本
  2. 将redis_init_script脚本拷贝到linux的/etc/init.d 目录中,将redis_init_script重命名为redis_6379, 6379是我们希望redis 的实例端口号
  3. 创建两个目录 /etc/redis (存放redis 配置的目录), /var/redis/6379 (存放redis的持久文件)
  4. 修改redis.conf配置文件(默认在根目录下),拷贝到/etc/redis目录下,修改名称为6379.conf
  5. 修改redis.conf中的部分配置为生产环境
参数说明
daemonizeyes让redis以daemon进程运行
pidfile/var/run/redis_6379.pid设置redis的pid文件位置
port6379设置redis的监听端口号
dir/var/redis/6379设置持久化文件的存储位置
  1. 启动redis:
1
2
3
cd /etc/init.d 
chmod 777 redis_6379 
./redis_6379 start
  1. 确认redis 进程是否启动: ps -ef | grep redis
  2. 让redis跟随系统启动自动启动,在redis_6379 脚本中,最上面加入两行注释
1
2
3
# chkconfig:    2345 90 10
# description: Redis is a persistent key-value database
chkconfig redis_6379 on   

主从架构(主节点和从节点最好保证一致的版本)

  1. 在 slave node 上配置:
1
slaveof 192.168.1.1 6379
  1. 强制读写分离

基于主从复制架构,实现读写分离 redis slave node 只读,默认开启,slave-read-only 开启了只读的redis slave node,会拒绝所有的写操作,这样可以强制搭建成读写分离架构

  1. 集成安全认证 master 上启用安全认证策略,requirepass master 连接口令 masterauth

  2. 读写分离架构的测试 先启动主节点,再启动从节点,在搭建生产环境的时候,不要忘记修改一个配置:

1
bind 127.0.0.1

每个redis.conf 中的bind 127.0.0.1 -> bind自己的ip,并且防火墙打开6379端口

redis-cli的使用

命令说明
redis-cli shutdown连接本机的6379端口停止redis进程
redis-cli -h 127.0.0.1 -p 6379指定要连接的ip和端口号
redis-cli pingping redis的端口,看是否正常
redis-cli进入交互式命令行
set k1 v1设置一个key:value
get k1获取key的值
Licensed under CC BY-NC-SA 4.0
陕ICP备16008414号
使用 Hugo 构建
主题 StackJimmy 设计