Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1568082
  • 博文数量: 157
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4116
  • 用 户 组: 普通用户
  • 注册时间: 2013-06-14 18:26
文章分类

全部博文(157)

文章存档

2014年(67)

2013年(90)

分类: 数据库开发技术

2014-05-08 20:34:39

 redis是一款开源的NoSQL,是一个是一个key-value形式的存储系统,可基于内存也可持久化的日志型、Key-Value数据库,并提供多种语言的API。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(有序集合)和hash(哈希类型)。

 redis的安装:

 首先我们要去官方下载源码包,下载地址:

 

 现在的稳定版是2.8的,最新版是3.0

 开始安装:

   
tar zxvf redis-2.8.9.tar.gz
cd redis-2.8.9/
make
cd src/
make install

到这里的时候,出现如下的提示
   
root@addam-python:~/redis-2.8.9/src# make install
Hint: To run 'make test' is a good idea ;)
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install

好吧,既然他提示让我们make test,那就按着他的来吧

  
root@addam-python:~/redis-2.8.9/src#make test
make[1]: Entering directory `/root/redis-2.8.9/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/root/redis-2.8.9/src'
make: *** [test] Error 2

好吧,又报错了,看提示吧,tcl版本不够或者没有安装,好吧,安装一下呗,我的是ubuntu系统,直接apt-get install tcl -y即可,如果是RedHat系列的可以使用yum安装。安装完成之后make test

一切顺利。看到结果出现successful等字样,说明我们已经安装完毕了。如果你这里再输入make install,同样还是上面的提示,让你make test,呵呵,其实这里我们的redis已经安装好了。ls看一下,在src下面生成了好多文件。

  接下来为了方便管理,我们建立统一的目录,将redis的配置文件等放在一起管理

 
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
mv /root/redis-2.8.9/redis.conf  /usr/local/redis/etc/
cd redis-2.8.9/src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin/

到这里我们可以启动redis服务了,可以使用/usr/local/redis/bin/redis-server启动,但是你会发下一个问题,程序总是在前台运行,而且会出现警告信息,找不到配置文件。

  这里我们需要修改一下redis.conf这个文件的内容了,这是我们redis服务的主配置文件,具体一些配置参数讲解如下:

daemonize        如果需要在后台运行,设置为yes
pidfile          配置多个pid的地址,默认在/var/run/redis.conf
bind             绑定ip,设置后只接受来自该ip的请求
port             监听端口,默认为6379
timeout          设置客户端连接时的超时时间,单位为秒
loglevel         日志等级,分为4级,debug,verbose,notice,warning
logfile          配置log文件地址
databases        设置数据库的个数,默认为0
save             设置redis进行数据库镜像的频率(同步数据,备份数据)
rdbcompression   在进行镜像备份时是否压缩
Dbfilename       镜像备份文件的文件名
Dir              数据库镜像备份的文件放置路径
Slaveof          设置数据库为其他数据库的从数据库
Masterauth       主数据库连接需要的密码验证
Requirepass      设置登录时需要使用的密码
Maxclients       限制同时连接的客户数量
Maxmemory        设置redis能够使用的最大内存
Appendonly       开启append only 模式
Appendfsync      设置对appendonly.aof文件同步的频率
vm-enabled       是否开启虚拟内存支持
vm-swap-file     设置虚拟内存的交换文件路径
vm-max-memory    设置redis使用的最大物理内存大小
vm-page-size     设置虚拟内存的页大小
vm-pages         设置交换文件的总page的数量
Glueoutputbuf    把小的输出缓存存放在一起
hash-max-zipmap-entries   设置hash的临界值
Aeticverehashing   重新hash

按着参数根据自己的需求配置redis.conf文件,然后保存,使用如下命令启动redis
   
root@addam-python:~# /usr/local/bin/redis-server /usr/local/redis/etc/redis.conf
   
root@addam-python:~# ps -ef|grep redis
root      7032     1  0 20:46 ?        00:00:00 /usr/local/bin/redis-server *:6379                       
root      7037  2987  0 20:46 pts/0    00:00:00 grep --color=auto redis

我们可以看到,现在redis已经真正的起来了,查看一下端口吧

   
root@addam-python:~# netstat -lant|grep 6379
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN   
tcp6       0      0 :::6379                 :::*                    LISTEN   
root@addam-python:~# lsof -i :6379
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 7032 root    4u  IPv6  20992      0t0  TCP *:6379 (LISTEN)
redis-ser 7032 root    5u  IPv4  20993      0t0  TCP *:6379 (LISTEN)

 好吧,没问题了哦。现在服务已经起来了,我们如何通过客户端登录redis呢?

 命令如下:

   
root@addam-python:~# /usr/local/redis/bin/redis-cli
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379> quit              #退出

 登录进入我们可以进行各种操作了。

 关闭redis服务

 
root@addam-python:~# pkill redis-server
root@addam-python:~# ps -ef|grep redis                 
root      7055  2987  0 20:51 pts/0    00:00:00 grep --color=auto redis
root@addam-python:~# netstat -lant|grep 6379


阅读(2926) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~