Redis简介及常用操作

简介

Redis是开源的,基于C语言所写的,基于内存,可持久化的key-value数据库。

Redis目前有5种数据类型,分别是:

String(字符串)

List(列表)

Hash(字典)

Set(集合)

Sorted Set(有序集合)

 

与Memcached的对比

Redis是单线程的,秘钥长度为2GB,支持主从复制。

Memcached是较早出现的NoSql数据库,支持简单的key-value模式,而Redis几乎覆盖了Memcached的绝大部分功能,除了支持简单的key-value模式,还支持多种数据结构的存储,比如 list、set、hash、zset等。

与Memcached的对比

 

Redis

Memcached

执行速度

读写速度低于Memcached

读写速度高于redis

复制

支持主从复制

不支持复制

秘钥长度

2GB

250字节

线程

单线程

多线程

 

常用操作:

String(字符串)

Redis简介及常用操作

注:

SET key value 设置key=value

APPEND key value 追加值到一个键

GET key 获得键key对应的值

INCR key 增加键的整数值一次

INCRBY key increment 由给定的数量递增键的整数值

TYPE key 返回存储在键的数据类型的值。

TTL key 获取键到期的剩余时间。

RENAME key newkey 更改键的名称

RENAMENX key newkey 重命名键,如果新的键不存在

 

List(列表)

Redis简介及常用操作

注:

LPUSH key value1 [value2] 在前面加上一个或多个值的列表

RPUSH key value1 [value2] 添加一个或多个值到列表

一个增加在前面,一个增加在后面。

LLEN key 获取列表的长度

LRANGE key start stop 从一个列表获取各种元素

LPOP key 获取并取出列表中的第一个元素

RPOP key 取出并获取列表中的最后一个元素

 

Hash(字典)

Redis简介及常用操作

注:

HSET key field value 设置对象指定字段的值

HGETALL key 获取对象的所有属性域和值

HGET key field 获取对象中该field属性域的值

HVALS key 获取对象的所有属性值

 

Set(集合)

Redis简介及常用操作

注:

SADD key member [member ...] 添加一个或者多个元素到集合(set)里

SMEMBERS key 获取集合里面的所有key

SISMEMBER key member 确定一个给定的值是一个集合的成员

 

Sorted Set(有序集合)

Redis简介及常用操作

注:

ZADD key score1 member1 [score2 member2] 添加一个或多个成员到有序集合,或者如果它已经存在更新其分数

ZCARD key 得到的有序集合成员的数量

ZCOUNT key min max 计算一个有序集合成员与给定值范围内的分数

ZRANK key member 确定成员的索引中有序集合

ZREVRANGEBYSCORE key max min [WITHSCORES] 返回一个成员范围的有序集合,以socre排序从高到低