介绍
Redis是一个开源、支持网络、基于内存、键值对存储数据库,使用ANSI C编写。它具有以下优点:
- 异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。
- 支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。
- 操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。
- 多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。
安装和配置
wget http://download.redis.io/releases/redis-3.0.5.tar.gz tar -zxvf redis-3.0.5.tar.gz cd redis-3.0.5 make make install
将四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf 分别拷贝到/usr/redis下,和/etc下
mkdir -p /usr/redis/ cd src cp redis-server /usr/redis cp redis-benchmark /usr/redis cp redis-cli /usr/redis cd .. cp redis.conf /etc # 安装php5-redis apt-get install php5-redis
配置
在/etc/init.d/中创建redis启动脚本
#!/bin/bash # chkconfig: 2345 10 90 # description: Start and Stop redis REDISPORT=6379 PATH=/usr/local/bin:/sbin:/usr/bin:/bin EXEC=/usr/redis/redis-server REDIS_CLI=/usr/redis/redis-cli PIDFILE=/var/run/redis.pid CONF="/etc/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 exists, 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
设置开机启动和daemon进程
# 开机启动 chmod u+x redis sysv-rc-conf redis on # 将redis设置为daemon方式启动 vi /etc/redis.conf daemonize yes
启动redis时出现的两个warning信息解决
echo 1 > /proc/sys/vm/overcommit_memory echo 511 > /proc/sys/net/core/somaxconn