标签:redis
一、什么是redis
redis是一个开源的高性能键值对数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求;并借助许多高层级的接口使其可以胜任如缓存、队列系统等不同的角色。
redis数据库中的所有数据都存储在内存中。由于内存的读写速度远快于硬盘,因此Redis在性能上对比其他基于硬盘存储的数据库有非常明显的优势,在一台普通的笔记本电脑上,Redis可以在一秒内读写超过十万个键值。
将数据存储在内存中也有问题,例如,程序退出后内存中的数据会丢失。不过 Redis提供了对持久化的支持,即将可以内存中的数据异步写入到硬盘中,同时不影响继续提供服务。
二、redis和Memcached优劣
Redis可以为每个键设置生存时间(Time To Live,TTL),生存时间到期后键会自动被删除。这一功能配合出色的性能让Redis可以作为缓存系统来使用,而且由于Redis支持持久化和丰富的数据类型,使其成为了另一个非常流行的缓存系统Memcached的有力竞争者。
在性能上Redis是单线程模型,而Memcached支持多线程,所以在多核服务器上后者的性能更高一些。所以在使用时更应该关心的是二者在功能上的区别,如果需要用到高级的数据类型或是持久化等功能,Redis将会是Memcached很好的替代品。
作为缓存系统,Redis还可以限定数据占用的最大内存空间,在数据达到空间限制后可以按照一定的规则自动淘汰不需要的键。
除此之外,Redis的列表类型键可以用来实现队列,并且支持阻塞式读取,可以很容易地实现一个高性能的优先级队列。同时在更高层面上,Redis还支持“发布/订阅”的消息模式,可以基于此构建聊天室等系统。
三、redis的应用场景
应用于存储、队列、缓存系统方面。
四、redis的安装配置
1.安装
1.1编译安装
下载安装包后解压即可使用make 命令完成编译,完整的命令如下:
wget http://download.redis.io/redis-stable.tar.gz
tar xzf redis-stable.tar.gz
cd redis-stable
make
make install
make test命令测试Redis是否编译正确
1.2yum安装
可以使用操作系统中的软件包管理器来安装Redis,但目前大多数软件包管理器中的Redis的版本都较古老。http://redis.io/topics/problems中列举了一些在以往版本中存在的已知问题
2.redis启动和停止
1.启动
1.1直接启动:直接运行redis-server即可启动Redis,十分简单
redis-serve
redis-server --port 6380
1.2通过初始化脚本启动Redis
#!/bin/sh
##
Simple Redis init.d script conceived to work on Linux systems
#as it does use of the /proc filesystem.
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_ {REDISPORT}.pid
CONF="/etc/redis/ {REDISPORT}.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
;;
stop)
if [ ! -f PIDFILE ]
then
echo " PIDFILE does not exist, process is not running"
else
PID= (cat PIDFILE)
echo "Stopping ..."
CLIEXEC -p REDISPORT shutdown
while [-x /proc/ {PID}]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
我们需要配置Redis的运行方式和持久化文件、日志文件的存储位置等,具体步骤如下。
(1)配置初始化脚本。首先将初始化脚本复制到/etc/init.d目录中,文件名为redis_端口号,其中端口号表示要让Redis监听的端口号,客户端通过该端口连接Redis。然后修改脚本第6行的REDISPORT变量的值为同样的端口号。
(2)建立需要的文件夹。
目录名 说明
/etc/redis 存放redis的配置文件
/var/redis/端口号 存放redis的持久化文件
(3)修改配置文件。首先将配置文件模板(见 2.4 节介绍)复制到/etc/redis目录中,以端口号命名(如“6379.conf”)
参数 值 说明
daemonize yes 使redis已守护进程模式运行
pidfile /var/run/redis_端口号.pid 设置redis的pid文件位置
port 端口号 设置redis监听的端口号
4.redis在运维方面的知识
持久化(rdb、aof)、复制等
5.第三方redis管理工具
6.redi常用的命令及场景
标签:redis
原文地址:http://654057524.blog.51cto.com/11637454/1978832