CentOS 6.7安装redis3.0.7
时间:2016-04-26 00:57 来源:linux.it.net.cn 作者:IT
使用centos 6.7 live CD版本
redis官方文档
http://redis.io/download#installation
http://www.redis.io/topics/data-types-intro
Installation
Download, extract and compile Redis with:
$ wget http://download.redis.io/releases/redis-3.0.7.tar.gz
$ tar xzf redis-3.0.7.tar.gz
$ cd redis-3.0.7
$ make
错误 1
[root@localhost redis-3.0.7]# make
cd src && make all
make[1]: Entering directory `/home/mark/redis-3.0.7/src'
CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/home/mark/redis-3.0.7/src'
make: *** [all] Error 2
原因分析
这是由于系统没有安装gcc环境,
解决办法
yum install gcc
错误 2
cd src && make all
make[1]: Entering directory `/home/mark/redis-3.0.7/src'
CC adlist.o
In file included from adlist.c:34:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/home/mark/redis-3.0.7/src'
make: *** [all] Error 2
原因分析
在README 有这个一段话。
Allocator
Selecting a non-default memory allocator when building Redis is done by setting
the `MALLOC` environment variable. Redis is compiled and linked against libc
malloc by default, with the exception of jemalloc being the default on Linux
systems. This default was picked because jemalloc has proven to have fewer
fragmentation problems than libc malloc.
To force compiling against libc malloc, use:
% make MALLOC=libc
To compile against jemalloc on Mac OS X systems, use:
% make MALLOC=jemalloc
说关于分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis。
而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。
但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数。
解决办法
make MALLOC=libc
自此编译完成
:)
配置redis
cd $REDIS_HOME #进入redis主目录
mkdir conf
cd conf
cp ../redis.conf redis6379.conf #默认的端口
vim redis6379.conf
修改:
daemonize no #默认值no,该参数用于定制redis服务是否以守护模式运行。
port 6379 #默认6379 , 如果你的机器有冲突 , 修改为其他端口
如果不打算使用事务、管线等一堆复杂功能,仅仅把redis当成cache server使用,可以在配置文件中,找到maxmemory、maxmemory-policy这二项,参考下面修改
maxmemory 4096mb
maxmemory-policy allkeys-lru
即:最大允许使用4G内存,所有key全都按LRU(近期最少使用)算法淘汰,这种情况下,不用设置过期时间,只要内存使用达到上限,不怎么使用的key自然被干掉。
然后保存退出
启动redis
使用自定义配置启动
cd $REDIS_HOME/src
./redis-server ../conf/redis6379.conf
测试
添加
cd $REDIS_HOME/src
[mark@localhost src]$ ./redis-cli -p 6379 set test 'Hello Redis'
OK
[mark@localhost src]$
即:指定端口6379,连接到本机redis,同时设置一个key为test,value为'Hello Redis'的缓存项
(注:如果连接远程的redis服务器,可以用类似./redis-cli -h 192.168.1.190 -p 6379 get a)
读取
[mark@localhost src]$ ./redis-cli -p 6379 get test
"Hello Redis"
[mark@localhost src]$
删除
[mark@localhost src]$ ./redis-cli -p 6379 del test
(integer) 1
[mark@localhost src]$ ./redis-cli -p 6379 get test
(nil)
[mark@localhost src]$
小技巧
redis没有提供批量删除的方法,可以用下面的技巧批量删除
./redis-cli -p 6379 KEYS "*" | xargs ./redis-cli -p 6379 DEL
性能测试
./redis-benchmark -p 6379
(责任编辑:IT)
使用centos 6.7 live CD版本
redis官方文档 Installation Download, extract and compile Redis with:
$ wget http://download.redis.io/releases/redis-3.0.7.tar.gz
[root@localhost redis-3.0.7]# make 原因分析 这是由于系统没有安装gcc环境, 解决办法
yum install gcc
原因分析 在README 有这个一段话。 Allocator
Selecting a non-default memory allocator when building Redis is done by setting To force compiling against libc malloc, use: % make MALLOC=libc To compile against jemalloc on Mac OS X systems, use:
% make MALLOC=jemalloc 而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。 但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数。 解决办法
make MALLOC=libc
:)
cd $REDIS_HOME #进入redis主目录
修改:
maxmemory 4096mb 即:最大允许使用4G内存,所有key全都按LRU(近期最少使用)算法淘汰,这种情况下,不用设置过期时间,只要内存使用达到上限,不怎么使用的key自然被干掉。 然后保存退出 启动redis 使用自定义配置启动
cd $REDIS_HOME/src 添加
cd $REDIS_HOME/src 即:指定端口6379,连接到本机redis,同时设置一个key为test,value为'Hello Redis'的缓存项 (注:如果连接远程的redis服务器,可以用类似./redis-cli -h 192.168.1.190 -p 6379 get a) 读取
删除
redis没有提供批量删除的方法,可以用下面的技巧批量删除 ./redis-benchmark -p 6379 (责任编辑:IT) |