Redis 安装说明
1.介绍
redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcached类似,但很大程度补偿了memcached 的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add /remove及取交集并集和差集及更丰富的操作。在此基础上,redis支持各种不同方式的排序。Redis数据都是缓存在计算机内存中,并且会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。
redis官网地址:http://www.redis.io/
2.安装
2.1 下载地址
$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz
2.2 解压缩
$ tar xzf redis-2.8.3.tar.gz
2.3 编译安装
cd redis-2.8.3
make
注意: 这里有两种方法. 提倡第二种方法.
方法一:在make编译完成后,在Src目录下有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝你指定一个自定义目录下。
mkdir /usr/local/redis
cp redis-server /usr/local/redis
cp redis-benchmark /usr/local/redis
cp redis-cli /usr/local/redis
cp redis.conf /usr/local/redis
cd /usr/redis
方法二:如果你不想这么麻烦,可以在make编译后 直接make install, 它默认将这四个执行文件放到/usr/local/bin 目录下,如果没有特殊要求,大家可以这样做.
make install
cp redis.conf /etc/
那这4个执行文件,作用是什么了?它们作用:
redis-server:Redis服务器的daemon启动程序
redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况
3.配置
3.1 修改系统文件
echo vm.overcommit_memory=1 >> /etc/sysctl.conf
使用数字含义:
0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2,表示内核允许分配超过所有物理内存和交换空间总和的内存
3.2 修改redis配置文件
cd /etcvim redis.conf修改daemonize yes---目的使进程在后台运行
参数介绍:
daemonize:是否以后台daemon方式运行
pidfile:pid文件位置
port:监听的端口号
timeout:请求超时时间
loglevel:log信息级别
logfile:log文件位置
databases:开启数据库的数量
save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
rdbcompression:是否使用压缩
dbfilename:数据快照文件名(只是文件名,不包括目录)
dir:数据快照的保存目录(这个是目录)
appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
4.启动Redis服务
cd /usr/local/bin
./redis-server /etc/redis.conf
4.1. 检查是否启动成功
ps -ef | grep redis5. 连接
5.1 redis-cli 连接
键入 redis-cli 进入 redis console
a) set foo bar 设置key为foo, 值为bar
b) get foo 取key为foo值
c) del foo 删除key为foo
d) info 获取redis当前状态信息
5.2 windows下 telent 连接
打开cmd窗体 键入 telnet 10.10.136.41 6379键入 info 也可以获取当前状态信息,和在redis-cli下操作一样
5.4 java 连接
见代码: http://git.oschina.net/blackswan/jDemo/blob/master/src/redis/RedisDemo.java
6.常见问题
6.1 make test 报错
You need tcl 8.5 or newer in order to run the Redis test make: *** [test] Error 1
解答:
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
cd /usr/local/tcl8.6.1/unix/
./configure
make
make install
6.1 redis再本机可以连接成功,远程连接不不可以?
解答:vim /etc/redis.conf 将 bing 127.0.0.1 改成你实际IP地址
如果非127.0.0.1 clonse访问键入:redis-cli -h 10.121.49.131 -p 6379