linux上安装redis

来源:互联网 发布:mac大小写切换 编辑:程序博客网 时间:2024/04/29 16:45

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

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


一、Redis介绍

Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序
和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化



1. 下载地址:

$ wget http://redis.googlecode.com/files/redis-2.6.13.tar.gz

2. 解压缩

$ tar xzf redis-2.6.13.tar.gz

3. 编译

$ cd redis-2.6.13

$ make

$make install 


采用以上命令安装后,

redis的相关执行文件会生成在目录/usr/local/bin


这里建议单独新增一个文件夹,保存这些命令:

在Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝到一个目录下。

mkdir /usr/rediscp redis-server  /usr/rediscp redis-benchmark /usr/rediscp redis-cli  /usr/rediscp redis.conf  /usr/rediscd /usr/redis


进入redis解压目录,执行如下命令编译Redis:

cd <REDIS_FILE>                   //这里的redis_file是解压目录

make test  

make prefix=<REDIS_HOME> install            //redis_home是安装目录


4.将配置文件复制到/etc下(这步不是必须的,只是etc下是redis启动是引用的默认配置文件)

   $cp redis.conf /etc/


参数介绍:

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:检查导出工具 


5. 修改系统配置文件,执行命令

a) echo vm.overcommit_memory=1 >> /etc/sysctl.conf

b) sysctl vm.overcommit_memory=1 或执行echo vm.overcommit_memory=1 >>/proc/sys/vm/overcommit_memory

使用数字含义:

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

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

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


6. 修改redis配置文件

a) $ cd /etc

b) vi redis.conf

c) 修改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等待系统自己同步) 

注意:

其中的bind属性,会限制绑定的主机IP。默认是127.0.0.1

启动的时候一定要将配置文件redis.conf中的network下的bind属性(绑定的IP)改为0.0.0.0,而不能使用默认的127.0.0.1。否则,远程连接一直会被拒绝。

查看是否将默认只能本地访问redis改为所有IP均可以访问

bind 127.0.0.1 改为 bind 0.0.0.0 


7. 启动redis

a) $ cd /usr/local/bin

b) ./redis-server /etc/redis.conf


8. 关闭redis

redis-cli shutdown

如果非默认端口,可指定端口:

redis-cli -p 6380 shutdown


9. 检查是否启动成功

a) $ ps -ef | grep redis

来一张启动成功的截图:



0 0
原创粉丝点击