您的位置:首页 > 数据库 > Redis

CentOS下安装Redis

2015-11-08 15:10 633 查看
  Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。

  Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。

1.安装tcl支持

$yum install tcl


安装gcc,不然make的时候会报错

make[3]: gcc:命令未找到,//没有安装gcc


[root@winner ~]# yum install -y gcc g++ gcc-c++ make
[root@winner ~]# gcc -v


2.安装redis

[root@winner 桌面]# wget http://download.redis.io/releases/redis-3.0.5.tar.gz 下载下来以后在桌面,可以拷贝到/usr/local中


[root@winner local]# tar zxf redis-3.0.5.tar.gz


[root@winner local]# cd redis-3.0.5


[root@winner redis-3.0.5]$ make


出现了错误

zmalloc.h:50:31: 错误:jemalloc/jemalloc.h:没有那个文件或目录
zmalloc.h:55:2: 错误:#error "Newer version of jemalloc required"
make[1]: *** [adlist.o] 错误 1
make[1]: Leaving directory `/home/winner/桌面/redis-3.0.5/src'
make: *** [all] 错误 2
解决办法是:

make MALLOC=libc


[winner@winner redis-3.0.5]$ make MALLOC=libc


Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory `/usr/local/redis-3.0.5/src'


安装

[root@winner redis-3.0.5]# make install


cd src && make install
make[1]: Entering directory `/usr/local/redis-3.0.5/src'

Hint: It's a good idea to run 'make test' ;)

INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
make[1]: Leaving directory `/usr/local/redis-3.0.5/src'


[root@winner redis-3.0.5]#cp redis.conf /etc/


测试通过后安装,安装后会自动把redis-server,redis-cli,redis-benchmark,redis-check-aof,redis-check-dump复制到/usr/local/bin目录下。

参数介绍:

make install命令执行完成后,会在/usr/local/bin目录下生成几个可执行文件,分别是redis-server、redis-cli、 redis-benchmark、redis-check-aof 、redis-check-dump,它们的作用如下:

redis-server:Redis服务器的daemon启动程序

redis-cli:Redis命令行操作工具。也可以用telnet根据其纯文本协议来操作

redis-benchmark:Redis性能测试工具,测试Redis在当前系统下的读写性能

redis-check-aof:数据修复

redis-check-dump:检查导出工具


3. 修改redis配置文件

a)[root@winner 桌面]# cd /etc

b) [root@winner etc]# vi redis.conf

c) 修改daemonize no改成yes。


参数介绍:

daemonize:是否以后台daemon方式运行

pidfile:pid文件位置

port:监听的端口号

timeout:请求超时时间

loglevel:log信息级别

logfile:log文件位置

databases:开启数据库的数量

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

rdbcompression:是否使用压缩

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

dir:数据快照的保存目录(这个是目录)

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

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


设置开机自动启动服务

sudo chkconfig redis on


4. 启动redis

[root@winner etc]# cd /usr/local/bin
[root@winner bin]# ./redis-server /etc/redis.conf


5. 检查是否启动成功

[root@winner 桌面]# ps -ef | grep redis
root      6121     1  0 19:37 ?        00:00:02 ./redis-server *:6379
root      6433  6422  0 19:58 pts/1    00:00:00 grep redis


6.客户端登录

[root@winner bin]# ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379>


配置防火墙打开对应的端口:

$vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT


重启防火墙

$service iptables restart


测试:

127.0.0.1:6379> set test "hello"
OK
127.0.0.1:6379> get test
"hello"


关闭Redis:

[root@winner bin]# ./redis-cli -h 127.0.0.1 -p 6379 shutdown 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: