Redis使用笔记

Redis是一个键值型数据库,之前花了些时间体验了一下Redis,感觉还是很不错的。而且Redis学习起来也很容易,差不多花几个小时应该就能入门了。当时我是看的《the little redis book》,初学者可以看看。

安装

下载软件包: http://redis.io/download

首先运行服务器程序:

$ redis-server

程序默认是监听6379端口。

然后再运行客户端程序:

$ redis-cli

基本数据类型

运行客户端程序连接上Redis服务之后,所有的操作都可以通过该命令行交互完成。

Redis有5种不同的数据类型:字符串、散列表、列表、集合、有序集合。所有的数据在Redis中都是以键值对的形式保存的。

以下介绍这几种类型数据的基本操作。

String

设置一个键的值为字符串:

set <key> <value>

获取该键的值:

get <key>

字符串相关的命令:

help @string

Hashes

设置一个散列值:

hset <key> <k> <v>

获取该键的值:

hget <key> <k>  
hgetall <key>

散列相关的命令:

help @hash

Lists

添加值:

lpush <key> <v>

移除值:

lpop <key>  
help @list

Set

添加值:

sadd <key> <v>[ <v> ..]  
help set

Sorted Sets

类似于集合(Set),但是提供了排序(sorting)和秩划分(ranking)的功能。

添加值:

zadd key score member [score] [member]   
help @sorted_set

其他

有效期

设置某个值在seconds秒后到期:

expire <key> seconds

设置某个值在time时刻到期:

expireat <key> time

查看到期时间:

ttl <key>

清除到期时间:

persist <key>

事务(Transactions)

multi  
do something  
exec

multi和exec之间的命令作为原子操作。

在multi之前调用watch可监听值的变化,若该值被其他客户端修改,事务将会运行失败。

杂项

选择数据库:

select index

清除当前数据库所属key:

flushdb

清除所有数据库所属key:

flushall

查看key所储存的值的类型:

type key

Redis相关的命令手册: http://redis.io/commands

在应用程序中使用Redis

Redis提供了多种语言的绑定,以Ruby为例:

require 'redis'
r = Redis.new
r.set 'key', 1234
puts r.get 'key'
puts r.keys

输出结果应该为:

"1234"
["key"]