首页 > 代码库 > redis安装

redis安装

1. 下载

 

2. 安装

[root@lbd ~]# cp redis-2.8.13.tar.gz /usr/local/

[root@lbd ~]# cd /usr/local/

[root@lbd local]# tar zxvf  redis-2.8.13.tar.gz

[root@lbd local]# mv redis-2.8.13 redis2813

[root@lbd local]# cd redis2813/

[root@lbd redis2813]# make

[root@lbd redis2813]# make install

 

3. 修改系统参数

[root@lbd bin]# vim /etc/sysctl.conf

         添加: vm.overcommit_memory=1

使用数字含义:

0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

2,表示内核允许分配超过所有物理内存和交换空间总和的内存

 

[root@lbd bin]# sysctl -p

         // 刷新配置

[root@lbd bin]# cat /proc/sys/vm/overcommit_memory

         // 输出: 1

 

4. 修改配置文件

// 是否以后台daemon方式运行

daemonize yes

// pid文件位置

pidfile /usr/local/redis2813/redis.pid

// 端口

port 10123

// 请求超时时间

timeout 300

// 是否保活

tcp-keepalive 0

// 日志级别

loglevel debug

// 日志文件

logfile /usr/local/redis2813/var/redis.log

// 开启数据库的数量

databases 16

// 保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。

save 900 1

save 300 10

save 60 10000

// 是否使用 压缩

rdbcompression yes

// 数据库快照文件名(只是文件名,不包括目录)

dbfilename dump.rdb

// 数据库快照目录

dir /usr/local/redis2813/db

// 是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。

appendonly no

// appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)

appendfsync always


5. 启动服务

[root@lbd ~]# cd /usr/local/redis2813/ 
[root@lbd redis2813]# ./bin/redis-server conf/redis.conf

6. 测试

telnet 192.168.89.30 10123


7. 停止服务

[root@lbd redis2813]# ./bin/redis-cli -p 10123 shutdown

  • 执行安装redis报错undefined reference to `__sync_add_and_fetch_4‘ 

执行make命令时报错:

zmalloc.o: In function `zmalloc_used_memory‘:

/var/lib/tcommsvr/redis-2.8.0-rc4/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4‘

collect2: ld returned 1 exit status

make[1]: *** [redis-server] Error 1

make[1]: Leaving directory `/var/lib/tcommsvr/redis-2.8.0-rc4/src‘

make: *** [all] Error 2

 

产生原因:

linux32位版本。

查看方式:getconf LONG_BIT

 

解决办法:

执行make命令时加参数:make CFLAGS="-march=i686"