Redis2.8新特性
1.从可以部分重新同步主,这样当主从链接短时间中断恢复时无需作完整的RDB完全同步。
2.实验性Ipv6支持。
3.现在从显式ping主,主可以扫描到可能超时的从。
4.如果从数量没有达到指定的最大值主可以停止写请求。
5.通过Pub/SubKeyspace改变通知。
6.可通过CONFIGSET设置最大连接数。
7.可以绑定多个IP地址
8.可在ps命令输出中设置可识别的进程命以及实例的监听端口。
9.在崩溃时自动内存检查。
10.CONFIGREWRITE命令可以直接把CONFIGSET的配置修改到redis.conf里。
11.更多NetBSD友好的代码。
12.PUBSUB用于Pub/Sub内省。
13.EVALSHA可被复制而无需完整的EVAL.
14.更好的Lua脚本错误报告。
15.SDiFF性能增强。
16.支持引用字符,如set’foobar’”helloworld”。 17.INFO输出里增加每个DB的平均TTL信息。
18.redis-benchmark增强。
19.dict.cAPI错误使用扫描。
20.DEBUGSDSLEN用于SDS内存调试。
21.新的SCAN,SSCAN,HSCAN,ZSCAN命令。
22.当使用SLAVEOF时记录下新的主。
23.集群模式Sentinel代码同步Unstable分支,新的Sentinel将使用更可靠的算法来实现。
Linux 下安装redis步骤
1. 下载与安装
$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz
$ tar xzf redis-2.8.17.tar.gz
$ cd redis-2.8.17
$ make
$ cd src && make install
将会把redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-dump 五个文件复制到 /usr/local/bin/下
测试是否安装成功
$ ls -al /usr/local/bin/ | grep redis
如果出现一下五个文件表示安装成功;
2.配置redis
(1) 复制redis配置文到 /etc/redis.conf
$ cp -r /opt/redis-2.8.17/redis.conf /etc/redis.conf
(2) 修改
/etc/redis.conf 文件配置 把 daemonize on修改为 daemonize yes
daemonize yes
(3) Redis 绑定多个IP监听: 通过修改 /etc/redis.conf文件,使用bing命令添加 ;格式 bing 空格 IP地址 空格 IP地址 :bing 127.0.0.1 192.168.0.111 10.0.0.99
bind 127.0.0.1 192.168.0.111
测试绑定IP
netstat -ntpl |grep redis
(4) 制作一个 init.d 的启动脚本:
#!/usr/bin/env bash
#
# redis start up the redis server daemon
#
# chkconfig: 345 99 99
# description: redis service in /etc/init.d/redis \
# chkconfig --add redis or chkconfig --list redis \
# service redis start or service redis stop
# processname: redis-server
# config: /etc/redis.conf
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/etc/redis.conf"
#make sure some dir exist
if [ ! -d /var/lib/redis ] ;then
mkdir -p /var/lib/redis
mkdir -p /var/log/redis
fi
case "$1" in
status)
ps -A|grep redis
;;
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
将上面内容复制到 /etc/init.d/redis
(5) 添加服务并启动
$ chmod u+x /etc/rd.d/init.d/redis #赋予执行权限
$ chkconfig --add redis
$ chkconfig --list redis
$ service redis start
就可以默认在后台执行redis-server了。
(6)启动与关闭redis
3 测试redis
退出控制:直接按Ctrl+C既可