linux下如何安装配置redis及主从配置

本文详细介绍了如何将Redis安装到指定目录,包括下载、解压、配置文件修改、创建启动和停止服务脚本,以及M/S主从集群的配置方法。同时提供了PHP扩展的安装步骤及Redis密码设置、访问权限控制等安全设置。最后介绍了Redis学习笔记中关于数据类型及相关命令的部分,并附上了自动开机脚本的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

http://www.cnblogs.com/blueel/archive/2013/01/29/2881025.html

 

 

redis的优点:支持主从备份,操作指令丰富,支持异步的数据持久化

 

将 redis 安装到 /apps/svr/redis/

1.下载

wget http://download.redis.io/releases/redis-2.8.9.tar.gz

如果下载不了  直接打开官网下载:   http://www.redis.io/download

   tar zxvf redis-2.2.15.tar.gz

   cd redis-2.2.15

make &&  make install
mkdir -p /apps/svr/redis/conf
mkdir -p /apps/svr/redis/run
mkdir -p /apps/svr/redis/db
cp redis.conf /apps/svr/redis/conf/
cd src

 

2.将 src 目录下所有可执行文件复制到安装目录
cp redis-benchmark redis-check-aof  redis-check-dump redis-cli  redis-server mkreleasehdr.sh  /apps/svr/redis/

 

3.修改配置文件 
------- vi /apps/svr/redis/conf/redis.conf --------
daemonize yes --yes启用守护进程
pidfile /apps/svr/redis/run/redis.pid --Redis以守护进程方式运行时把pid写入文件
dir /apps/svr/redis/db --数据存放的目录
--------------------------------------------------------------

 

4.创建启动和停止服务脚本
------- vi /apps/svr/redis/start.sh ---------
#!/bin/bash
/apps/svr/redis/redis-server /apps/svr/redis/conf/redis.conf
------- vi /apps/svr/redis/stop.sh ---------
#!/bin/bash
kill `cat /apps/svr/redis/run/redis.pid`
chmod a+x/apps/svr/redis/start.sh /apps/svr/redis/stop.sh

 

5.启动 redis 服务 
/apps/svr/redis/start.sh
验证证服务是否成功:
netstat -nlpt | grep 6379  #端口注意防火墙哈
6.启动客户端验证
/apps/svr/redis/redis-cli
>set key1 val1
>get key1

 

 

二. M/S主从集群配置

1台Master和一台Slave
Master IP:127.0.0.1 PORT:6379
Slave1 IP:127.0.0.1 PORT:63791

 

2.复制slave目录,方便管理

cp -r /apps/svr/redis /apps/svr/redis-slave1

 

3.修改slave的配置文件和服务脚本
-- vi /apps/svr/redis-slave1/conf/redis.conf --
port 63791
pidfile /apps/svr/redis-slave1/run/redis.pid
slaveof 127.0.0.1 6379
----------------------------------------------------------

 

-- vi /apps/svr/redis-slave1/start.sh --
#!/bin/bash
/apps/svr/redis-slave1/redis-server /apps/svr/redis-slave1/conf/redis.conf
---------------------------------------------------

 

------- vi /apps/svr/redis-slave1/stop.sh ---------
#!/bin/bash
kill `cat /apps/svr/redis-slave1/run/redis.pid`
--------------------------------------------------------


4.启动M/S服务
/apps/svr/redis/start.sh
/apps/svr/redis-slave1/start.sh
验证服务是否正常
netstat -nlpt | grep redis-server

 

5.验证redis是否有效
/apps/svr/redis/redis-cli [默认连接端口:6379 的 Master服务]
>set key1 val1
>quit

/apps/svr/redis/redis-cli -p 63791 [连接 Slave1 服务]
>get key1
“val1″ (数据成功同步了)
多个slave同理配置

 

php 扩展

http://pecl.php.net/package/redis

wget http://pecl.php.net/get/redis-3.1.2.tgz

tar -zxvf redis-3.1.2.tgz

cd redis-3.1.2


/apps/svr/php/bin/phpize

 ./configure  --with-php-config=/apps/svr/php/bin/php-config

make && make install

vim /apps/svr/php/etc/php.ini 

找到extension_dir的位置

在下边添加如下内容:extension=redis.so

 

 

redis密码设置、访问权限控制等安全设置

1.比较安全的办法是采用绑定IP的方式来进行控制。

 

bind 127.0.0.1

 

2.设置密码,以提供远程登陆

redis.conf
找到
requirepass
写上
requirepass yourpassword

登陆带密码方式

/apps/svr/redis/redis-cli -a redis

 

 

自动开机脚本

 

1.安装tcl支持

yum install tcl

 

 

 

2   vim /etc/init.d/redis

###########################
# chkconfig: 2345 90 10

# description: redis is a persistent key-value database
PATH=/usr/local/bin:/sbin:/usr/bin:/bin

REDISPORT=6379
EXEC=/apps/svr/redis/redis-server
REDIS_CLI=/apps/svr/redis/redis-cli

PIDFILE=/apps/svr/redis/run/redis.pid
CONF="/apps/svr/redis/conf/redis.conf"

case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x ${PIDFILE} ]

do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
##############################

 

 

修改权限,可以运行

chmod +x /etc/init.d/redis
 
sudo chkconfig redis on

 

启动服务:

service redis start

停止服务:

service redis stop

 

配置防火墙打开对应的端口:

vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

 重启防火墙

service iptables restart

 


Redis学习笔记2--Redis数据类型及相关命令

 

 

Redis支持的种数据类型包括string、list 、set 、sorted set 和hash。

Redis相关的命令可以查看:http://redis.io/commands 这是官方的命令使用手册,

也有中文翻译的:http://redis.readthedocs.org/en/2.4/index.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值