Redis的简易使用

Redist简介

redis简介
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

特点

  • 支持持久化
  • 数据结构类型丰富
  • 支付master-slave模式的数据备份
  • 原子性

数据类型

  • string类型,一个key对应一个value(键值对)。一个键最大能存储512MB。
方法 用途 示例
GET 获取值 GET name
SET 设置值 SET name val
DEL 删除值 DEL name
INCR 自增1 INCR key
DECR 自减1 DECR key
INCRBY 自增整数amount INCRBY key amount
DECRBY 自减整数amount DECRBY key amount
INCRBYFLOAT 自增浮点值amount INCRBYFLOAT key amount

还有一些请看下面的链接,比如批量设置、设置过期时间。
更多使用方式

  • hash类型,是一个string类型的field和value的映射表,hash特别适合用于存储对象。每个hash可以存储2^32 - 1键值对(40多亿)。
方法 用途 示例
HGET 获取值 HGET hash-key sub-key1
HSET 设置值 HSET hash-key sub-key1 value1
HGETALL 获取散列所有的值 HGETALL hash-key
HDEL 删除值 HDEL hash-key sub-key1
HMSET 设置散列中的一个或多个键的值 HMSET hash-key sub-key1 value1[sub-key value...]
HMGET 获取散列中的一个或多个键的值 HMGET hash-key sub-key1 [sub-key...]
HLEN 返回散列中的键值对数量 HLEN hash-key
HKEYS 获取散列中的所有键 HKEYS hash-key

更多使用方式

  • list类型,是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。一个列表最多可以包含 232 - 1 个元素 (每个列表超过40亿个元素)。
方法 用途 示例
RPUSH 将给定值推入到列表右端 RPUSH key name
LPUSH 将给定值推入到列表左端 LPUSH key name
RPOP 从列表右端抛出一个值,并且返回其值 RPOP key
LPOP 从列表左端抛出一个值,并且返回其值 LPOP key

更多使用方式

  • set类型,是String类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。集合中最大的成员数为 2^32 - 1 (每个集合可存储40多亿个成员)。
方法 用途 示例
SADD 往集合添加元素 SADD key item
SREM 从集合移除元素 SREM key item
SMEMBERS 返回集合中的所有成员 SMEMBERS key

更多使用方式

  • zset类型,有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关 联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合中最大的成员数为 2^32 - 1 (每个集合可存储40多亿个成员)。
方法 用途 示例
ZADD 往集合添加元素 ZADD key score item
ZREM 从集合移除元素 ZREM key item

使用场景

类型 理解 用途示例
string 简单的key-value格式 计数器,数据缓存
hash 用于存储对象 存储用户信息(以用户id为hash_key,不同属性为hashmap的key-value),数据缓存
list 提供栈和队列结构的双向链表 入队消费,抢购排队,最新评论
set string的集合(可对两个集合进行运算) 可以求交集,差集,比如微博共同好友
zset string的集合(可对两个集合进行运算,并且可排序) 可以排序,比如全班同学成绩,阅读量最高的文章,最新评论

更多的场景:

补充

redis还有事务、发布订阅等功能。

参考

  1. http://blog.csdn.net/xlgen157387/article/details/60958657
  2. http://www.runoob.com/redis/redis-tutorial.html
  3. http://doc.redisfans.com/
  4. https://www.cnblogs.com/mrhgw/p/6278619.html
  5. http://blog.csdn.net/yoko_luo/article/details/52303867
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 重点参考链接: http://www.cnblogs.com/wangyuyu/p/3786236.html Re...
    Kevin_Junbaozi阅读 2,200评论 0 21
  • NOSQL类型简介键值对:会使用到一个哈希表,表中有一个特定的键和一个指针指向特定的数据,如redis,volde...
    MicoCube阅读 4,062评论 2 27
  • 最美的风景总在远方,有人如是说。那么爱情呢,爱情在远方还是在身边? 想起年轻的时候,和一个从未谋面的笔友,从个人爱...
    十里春风在等你阅读 255评论 1 0
  • 今天是一个快乐又悲伤的一天!感恩舒家老哥的支持,昨晚上熬到大半夜帮忙把空调的布局图给赶出来,今天很早又赶到店里给我...
    今天的心情好阅读 206评论 0 1
  • 树叶片片飘落受不了严冬的洗礼受不了冷冽的西北风受不了这早已坚硬的土地再也没有了温暖的怀抱港湾一生的眷恋那松软的土壤...
    戦榊阅读 108评论 0 0