准备部分:
什么是redis?
Redis是REmote DIctionary Server的缩写。一个非关系型数据库
为什么要用redis?
1, 因为redis快,Redis is pretty fast!, 110000 SETs/second, 81000 GETs/second
2, 省去了复杂的SQL。
3, 可以省去memcache了。
开始:
下载redis:
http://code.google.com/p/redis/downloads/list
在列表里找出你想要安装的redis版本。这里我选择安装的是2.0.4稳定版: redis-2.0.4.tar.gz
(在2.0以上版本中,增加了VM(Virtual Memory)特性,使我们不必再为那些不会被使用,而加载到内存的冷数据买单。)
当然也可以用wget命令:
- wget http://redis.googlecode.com/files/redis- 2.0 . 4.tar .gz
安装redis:
下面按照官方维基的方法进行编译(详见http://code.google.com/p/redis/wiki/QuickStart )
- tar xvzf redis- 2.0 . 4.tar .gz
- cd redis-2.0 . 4
- make
和我一样菜的Linux菜鸟就会问了,为什么没用标准的Linux安装三板斧呢?官方维基是这样说的:Redis can run just fine without a configuration file (when executed without a config file a standard configuration is used). With the default configuration Redis will log to the standard output so you can check what happens. Later, you can change the default settings .
配置redis:
在运行redis前,我们要配置一下。redis的配置文件在你的安装目录里。名为:redis.conf。
简单说几点redis.conf:
redis默认不是用守护进程 的,如果需要更改,把daemonize no改成daemonize yes。(测试的时候可以不改,看看打印信息。)
如果对redis默认6379端口不爽的,可以更改port 6379
如果想把数据文件放到一个指定文件夹 ,更改dir /opt/data/
默认是dir ./ 也就是默认放到安装目录下。
连接超时时间,timeout 300,没什么改头……
dir 是数据文件路径。默认在安装目录下。
*下面的配置二选一,详见本文注释部分2。
###### SNAPSHOTTING ######内存快照方式:
默认的内存快照策略是,
在900秒(15分钟)内,至少有1次数据变更;
或者300秒内,有至少10次数据变更;
或者60秒内,有至少1000次数据变更;时间+数据变更次数,共同影响内存快照的出现。
###### APPEND ONLY MODE ###### AOF方式
appendfsync everysec 每秒同步。这里可以注释掉,打开下面的选项appendfsync no
其余的配置,conf里面的注释写的挺清楚,我就不多废话了。大家看着自己配就行了。
运行redis:
2.2.7版本,redis-server被放到了src文件夹下,要这么运行:
在安装目录下# cd src
#./redis-server ./../redis.conf
2.0.4老版本很简单,在安装目录下
#./ redis - server
就可以了。如果没有更改daemonize no配置,会看见运行的信息。好,现在redis运行起来了!
注释:
▲redis的默认端口号是6379,(据redis的作者antirez的博文说,6379在是手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz 的名字。而MERZ长期以来被antirez及其朋友当作愚蠢的代名词。)
▲Redis有两种存储方式,默认是snapshot方式,实现方法是定时将内存的快照(snapshot)持久化到硬盘,这种方法缺点是持久化之 后如果出现crash则会丢失一段数据。因此在完美主义者的推动下作者增加了aof方式。aof即append only mode,在写入内存数据的同时将操作命令保存到日志文件。
redis端口会被拦截掉,要修改防火墙配置 开启redis端口,修改防火墙配置文件 vi /etc/sysconfig/iptables 加入端口配置 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT 重新加载规则 service iptables restart
参考:
nosql发烧友集散地:
redis认识的几个误区:
http://blog.nosqlfan.com/html/868.html
借鉴:
http://shopscor.javaeye.com/blog/792817
转自: http://blog.csdn.net/chenggong2dm/article/details/6100001