Redis入门

一、环境准备

下载、安装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属性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容