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"]