写在前面
很早以前就听说了内存数据库的概念,始终都停留在概念中,这几天趁着项目交接时间充裕,特地小试了一把,本来打算试用教程上推荐的memcache,但是无奈资料不是很全,而且貌似功能上也有些不完善,后来发现了更火更强大的redis,感觉非常不错,特此写篇使用小记。
1.简介
redis是一个开源的key-value数据库。它又经常被认为是一个数据结构服务器。因为它的value不仅包括基本的string类型还有 list,set ,sorted set和hash类型。当然这些类型的元素也都是string类型。也就是说list,set这些集合类型也只能包含string 类型。你可以在这些类型上做很多原子性的操作。比如对一个字符value追加字符串(APPEND命令)。加加或者减减一个数字字符串(INCR命令,当 然是按整数处理的).可以对list类型进行push,或者pop元素操作(可以模拟栈和队列)。对于set类型可以进行一些集合相关操作 (intersection union difference)。memcache也有类似与++,--的命令。不过memcache的 value只包括string类型。远没有redis的value类型丰富。和memcahe一样为了性能。redis的数据通常都是放到内存中的。当然 redis可以每间隔一定时间将内存中数据写入到磁盘以防止数据丢失。redis也支持主从复制机制(master-slave replication)。redis的其他特性包括简单的事务支持和 发布订阅(pub/sub)通道功能,而且redis配置管理非常简单。
2.安装
下载地址:http://pan.baidu.com/share/link?shareid=3691716516&uk=1342739916
3.使用配置
redis最新的版本为2.8,本例中选用了较为稳定的2.4,操作方法类似,首先获取redis文件包解压后,解开里面可以看到如下文件,将其拷贝到电脑指定可访问路径下,本例中使用的地址是C:\>reids。
接着把redis.conf文件配置好并放到redis的文件夹下,redis.conf的推荐配置内容请看《Redis 配置文件 redis.conf配置说明》,默认启动端口为6379,本例附件中的例子使用的是10021。然后便可以调用系统的cmd命令,打开命令行界面,切换到redis的文件路径下,敲入:redis-server.exe redis.conf,按下回车,看见下图中的标红字样,即表示就redis-server已启动成功(如果启动失败请检查redis.conf里配置的系统服务端口是否被占用,或者查看redis的界面出错提示信息)。
4.快速上手
在保证启动窗口打开并允许的前提下,新建一个cmd的命令窗口,在此命令行内输入:redis-cli.exe -h 127.0.0.1 -p 10021,即进入redis的操作命令行界面,设值可以输入:set name "jenking",回车(类似sql语句中的insert),取数据可以输入:get name,回车(类似sql语句中的select),非常简单。
5.小结
redis是一个典型的key-value存储系统。它支持存储的value类型相对非常丰富,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的,清晰实用,具体操作部分可以查看redis的官方操作文档。此外,redis已经提供了Python,Ruby,Erlang,PHP,JAVA等主流语言的客户端,使用很方便。在下节博文中将针对redis与python、php等语言搭配使用进行介绍。