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(字符串)
注:
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(列表)
注:
LPUSH key value1 [value2] 在前面加上一个或多个值的列表
RPUSH key value1 [value2] 添加一个或多个值到列表
一个增加在前面,一个增加在后面。
LLEN key 获取列表的长度
LRANGE key start stop 从一个列表获取各种元素
LPOP key 获取并取出列表中的第一个元素
RPOP key 取出并获取列表中的最后一个元素
Hash(字典)
注:
HSET key field value 设置对象指定字段的值
HGETALL key 获取对象的所有属性域和值
HGET key field 获取对象中该field属性域的值
HVALS key 获取对象的所有属性值
Set(集合)
注:
SADD key member [member ...] 添加一个或者多个元素到集合(set)里
SMEMBERS key 获取集合里面的所有key
SISMEMBER key member 确定一个给定的值是一个集合的成员
Sorted Set(有序集合)
注:
ZADD key score1 member1 [score2 member2] 添加一个或多个成员到有序集合,或者如果它已经存在更新其分数
ZCARD key 得到的有序集合成员的数量
ZCOUNT key min max 计算一个有序集合成员与给定值范围内的分数
ZRANK key member 确定成员的索引中有序集合
ZREVRANGEBYSCORE key max min [WITHSCORES] 返回一个成员范围的有序集合,以socre排序从高到低