Redis

Redis下载:http://redis.io/download

 Redis的介绍

数据库主要类型有对象数据库,关系数据库,键值数据库等等,对象数据库太超前了,现阶段不提也罢;关系数据库就是平常说的MySQL,PostgreSQL这些熟的不能再熟的东西,至于键值数据库则是本文要着重说的,其代表主要有MemcacheDBTokyo Cabinet等等。

Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点。从而使它的位置处于关系数据库和键值数据库之间。Redis不仅能保存Strings类型的数据,还能保存Lists类型(有序)和Sets类型(无序)的数据,而且还能完成排序(SORT)等高级功能,在实现INCR,SETNX等功能的时候,保证了其操作的原子性,除此以外,还支持主从复制等功能。

详细描述参见官方手册,同时,官方提供了一个名为Retwis的项目的源代码,可以对照着官方介绍学习,注意其中关于Data Layout的描述,其他没什么。

项目实践中,多以关系数据库为主,不过合理的使用Redis这样的键值数据库,往往能扬长避短,比如说实现一个类似消息队列的功能,对MySQL来说,除非使用Q4M,否则很难满足高并发请求,不过对Redis来说,通过内建的Lists支持,消息队列就是小菜一碟。

由于某些原因,我希望我的项目中使用redis,于是开始学习如何使用这个东西。首先要得到它,我是从它的官网上面下载的可以用wget直接下载,我一般是会把软件安装代码放在/dist/dist下面:cd /dist/dist 

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

打开它:

tar zxf redis-2.2.7.tar.gz

cd redis-2.2.7

查看了一下安装文档,它的安装很简单,就make一下就可以了。

make

make test

如果不放心的话可以做一下测试make test

 接下来就是使用了,由于它是一个数据库,就像MYSQL,那它就应该有服务端和客户端,先打开服务端:

cd src

./redis-server > /dev/null &    

加上“>/dev/null &”的意思是让它在后台执行,不输出信息如果不是的话就会有每5秒输入一次的信息,像这样的:

[5265] 23 May 15:34:29 – DB 0: 4 keys (0 volatile) in 8 slots HT.

[5265] 23 May 15:34:29 – 0 clients connected (0 slaves), 790832 bytes in use

[5265] 23 May 15:34:34 – DB 0: 4 keys (0 volatile) in 8 slots HT.

[5265] 23 May 15:34:34 – 0 clients connected (0 slaves), 790832 bytes in use

[5265] 23 May 15:34:39 – DB 0: 4 keys (0 volatile) in 8 slots HT.

[5265] 23 May 15:34:39 – 0 clients connected (0 slaves), 790832 bytes in use

这样就把服务端打开了。

接下来我们用客户端去连接

./redis-cli

由于它是一个key-value的数据库,所以每条数据都是一个键名一个键值

   redis> set foo bar

    OK

    redis> get foo

    "bar"

    redis> incr mycounter

    (integer) 1

    redis> incr mycounter

    (integer) 2

    redis>quit

最后是退出,不需要加任何的符号,输入quit回车就退出了。我们来看一下redis使用的是哪一个端口:netstat -tnlp可以看到它使用的是

tcp        0      0 0.0.0.0:6379                0.0.0.0:*                   LISTEN      5265/redis-server

6379这个端口,我们还可以用telnet来验证:

telnet localhost 6379

Trying 127.0.0.1…

Connected to localhost.localdomain (127.0.0.1).

Escape character is ‘^]’.

set foo 1

+OK

get foo

$1

1

quit

+OK

Connection closed by foreign host.

基本上到这里就完成了redis的安装了,接下来就是具体的应用了。

From: http://www.codeo4.cn/archives/479

相关推荐