Redis 的安装配置介绍
redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。问题是这个项目还很新,可能还不足够稳定,
?
Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。
Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。
一、下载最新版
wget http://redis.googlecode.com/files/redis-2.0.0-rc4.tar.gz二、解压缩
tar?redis-2.0.0-rc4.tar.gz三、安装C/C++的编译组件(非必须)
apt-get?install?build-essential四、编译
cd?redis-2.0.0-rc4make命令执行完成后,会在当前目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-stat,它们的作用如下:
五、修改配置文件
/etc/sysctl.conf添加
vm.overcommit_memory=1刷新配置使之生效
sysctl vm.overcommit_memory=1?补充介绍:
?**如果内存情况比较紧张的话,需要设定内核参数:
echo 1 > /proc/sys/vm/overcommit_memory
?内核参数说明如下:
overcommit_memory文件指定了内核针对内存分配的策略,其值可以是0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
?**编辑redis.conf配置文件(/etc/redis.conf),按需求做出适当调整,比如:
daemonize yes #转为守护进程,否则启动时会每隔5秒输出一行监控信息
save 60 1000 #减小改变次数,其实这个可以根据情况进行指定
maxmemory 256000000 #分配256M内存
?
下面是一个略做修改后的配置文件内容:
daemonize yes?
pidfile /usr/local/redis/var/redis.pid
port 6379
timeout 300
loglevel debug
logfile /usr/local/redis/var/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /usr/local/redis/var/
appendonly no
appendfsync always
glueoutputbuf yes
shareobjects no
shareobjectspoolsize 1024
将上面内容写为redis.conf并保存到/usr/local/redis/etc/目录下
然后在命令行执行:
1
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
即可在后台启动redis服务,这时你通过
1
telnet 127.0.0.1 6379
即可连接到你的redis服务。
六、启动服务并验证
启动服务器
?
./redis-server?七、启动命令行客户端赋值取值
?
redis-cli?set?mykey somevalue?
./redis-cli get mykey
?
八、关闭服务
$?redis-cli?shutdown?????
#关闭指定端口的redis-server??
$redis-cli?-p?6380?shutdown?
九、客户端也可以使用telnet形式连接。
[root@dbcache conf]# telnet 127.0.0.1 6379?
Trying 127.0.0.1...?
Connected to dbcache (127.0.0.1).?
Escape character is '^]'.?
set foo 3?
bar?
+OK?
get foo?
$3?
bar?
^]?
telnet> quit?
Connection closed.