一、环境准备
下载、安装Redis
$ wget http://download.redis.io/releases/redis-3.2.0.tar.gz
$ tar xzf redis-3.2.0.tar.gz
$ cd redis-3.2.0
$ make
启动服务端
$ src/redis-server
启动客户端
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
二、简介
Redis是一个key-value结构的NoSQL数据库,value支持5种数据结构:Strings
Lists
Sets
Sorted Sets
Hashes
。
下面会按照Redis Tutorial,简单介绍一下各种数据结构的常用命令。
Strings
命令:SET
GET
DEL
SET user:name "yingzong"
设置user:name的值为yingzong
GET user:name => "yingzong"
获取user:name,符号=>后面的内容是命令的输出结果。
DEL user:name => "(integer) 1"
删除user:name,可以用于删除所有数据类型的key。
Lists
命令:RPUSH
LPUSH
LLEN
LRANGE
LPOP
RPOP
特点:有序、可重复
RPUSH users "user1" => "(integer) 1"
RPUSH users "user2" => "(integer) 2"
RPUSH users "user3" => "(integer) 3"
在list右侧插入元素。
LPUSH users "user4" => "(integer) 4"
在list左侧插入元素。
LLEN users => "(integer) 4"
获取list长度。
LRANGE users 0 -1
=> 1) "user4"
=> 2) "user1"
=> 3) "user2"
=> 4) "user3"
获取list中的元素,从0开始到最后一个(-1)。
LPOP users => "user4"
从list左侧删除元素。
RPOP users => "user3"
从list右侧删除元素。
Sets
命令:SADD
SREM
SMEMBERS
特点:无序、不重复
SADD users "user1" => "(integer) 1"
SADD users "user2" => "(integer) 1"
SADD users "user3" => "(integer) 1"
SADD users "user3" => "(integer) 0"
向set中增加元素。
SMEMBERS users
=> 1) "user3"
=> 2) "user2"
=> 3) "user1"
获取set中的所有元素。
SREM users "user2" => "(integer) 1"
删除set中的某个元素。
Sorted Sets
命令:ZADD
ZRANGE
特点:有序、不重复
ZADD users 100 "user1" => "(integer) 1"
ZADD users 200 "user2" => "(integer) 1"
ZADD users 300 "user3" => "(integer) 1"
向set中添加元素。
ZADD users 400 "user1" => "(integer) 0"
向set中添加重复元素,会覆盖原有值的score,影响排序。
ZRANGE users 0 -1
=> 1) "user2"
=> 2) "user3"
=> 3) "user1"
获取set中的元素。
Hashes
命令:HSET
HGET
HGETALL
HDEL
特点:一个key内可以包含多个属性,适合用来存储对象
HSET user name "yingzong" => "(integer) 1"
HSET user location "hangzhou" => "(integer) 1"
设置user的name和location属性值。
HGETALL user
=> 1) "name"
=> 2) "yingzong"
=> 3) "location"
=> 4) "hangzhou"
获取user的所有属性值。
HGET user location => "hangzhou"
获取user的location属性值。
HDEL user location => "(integer) 1"
删除user的location属性。