初触redis

redis的介绍: 
     redis
Remote Dictionary Server的缩写。他本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库,但是他的数据可以持久化的保存在磁盘上,解决了服务重启后数据不丢失的问题,他的值可以是string(字符串)list(列表)sets(集合)或者是ordered sets(被排序的 集合),所有的数据类型都具有push/popadd/remove、执行服务端的并集、交集、两个sets集中的差别等等操作,这些操作都是具有原子性的,Redis还支持各种不同的排序能力。


我本地安装的环境如下:
[root@localhost app]# cat /etc/issue
CentOS release 5.6 (Final)
Kernel r on an m

[root@localhost app]# uname -a
Linux localhost.localdomain 2.6.18-238.el5 #1 SMP Thu Jan 13 16:24:47 EST 2011 i686 i686 i386 GNU/Linux

redis的安装:
1.
先从官方网站下载redis,地址http://redis.googlecode.com/,wget到本地后执行tar zxvf解压(我下载的是最新的2.6.14版本),如下:

2.进入解压后的目录,并且执行make编译,编译出错,报错如下:

3.经过分析,本测试机是32位操作系统导致,编译时需要添加参数CFLAGS=”-march=i686″,编译成功了

4,按照提示执行make test 继续报错,报错如下:

5.”You need tcl 8.5 or newer in order to run the Redis test“ 这个是关键提示,貌似还需要安装一个叫tcl的东东,安装步骤如下:

   6,安装完了,再测试下make test,还是报错,因为我的tcl版本问题,对方要求8.5或最新,所以需要再安装一次 wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz 本地编译安装(安装方法请参照官方说明)。
7,安装了8.6.1的tcl后,redis可以正常make test了,redis安装成功。

 8,启动redis
 
 9,redis.conf文件的daemonize参数为no,所以redis不会在后台运行,这时要测试,我们需要重新开一个终端。修改为yes则为后台运行redis。另外配置文件中规定了pid文件,log文件和数据文件的地址,如果有需要先修改,默认log信息定向到stdout.已经修改成yes,并且成功在后台启动,启动命令/usr/local/bin/redis-server /home/kerwin/app/redis-2.6.14/redis.conf  启动格式为redis-server + 配置文件

(附:redis.conf 配置文件主要参数介绍:

  • daemonize:是否以后台daemon方式运行
  • pidfile:pid文件位置
  • port:监听的端口号
  • timeout:请求超时时间
  • loglevel:log信息级别
  • logfile:log文件位置
  • databases:开启数据库的数量
  • save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
  • rdbcompression:是否使用压缩
  • dbfilename:数据快照文件名(只是文件名,不包括目录)
  • dir:数据快照的保存目录(这个是目录)
  • appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
  • appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步))
使用redis:1,建议一个redis用户,并且建立一个目录专门存储数据,我建的是redis_db,并且修改配置文件,使数据存储指向该目录。


2,修改配置文件,设定数据存储路径和日志存储路径,如下:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>