redis学习总结(一)

一.简单介绍

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

 

redis项目未有提供对windows系统的支持,而Microsoft Open Tech提供了一个基于win64的redis实现,简单学习使用在window下就可以。

 

面对需求的时候,如果用redis可以方便解决,则不需要编写更多的代码。

二.常用数据类型的使用,具体命令去查手册

  • 1.String

  key的值是二进制安全的,可以存储任何二进制序列,例如一张图片,一个ruby序列,最多存储521M

  bitMap位图

  bitop bitcount 常用于 按天统计网站活跃用户的数量,网站用户的上线统计次数。

  • 2.list

  ltrim 去除指定范围外元素,但是并不会删除list中的元素,只是返回指定范围内的元素。有点类似分页

  • 3.hash散列

  面对一个业务需求,如果可以使用string, 则使用hash散列更优,但是如果  设置过期 bitop 等则只能使用string.

  适用 微博好友的关注,用户维度的统计。

  • 4.set

    无序,去重复,元素是字符串类型,

    集合中最大的成员数为 2^32  -1=4294967295, 每个集合可存储40多亿个成员

    scard key  表示返回集合元素个数,时间复杂度o(1),集合长度记录在键结果保存信息中,不需要遍历,就可以知道。

    SRANDMEMBER friends  -5  可返回无序,可重复的5个集合中元素。

    并集 交集 差集

    适用场景:微博中共同关注好友,设计每个用户关注的用户放在set中,求交集。一般在后台定期执行,然后用户访问直接展示,响应快。

  • 5.sorted_set

    有序,去重复,元素是字符串类型,

    集合中最大的成员数为 2^32  -1=4294967295, 每个集合可存储40多亿个成员

    每个元素关联着一个浮点数分值(score),并按照分值从小到大顺序排列,分值可相同。

    适用场景:云音乐排名,歌名做元素,播放次数做分值。日排行,周排行,取并集即可。

        博客,新闻,论坛,搜索引擎,页面列表的分页,使用 ZREVRANGE key 2 3 

        博客中使用时间戳来的分值

    注意:参与并集运算的集合多,会造成redis服务器阻塞,因此最好放在空闲时间或者备用服务器上。

    

  redis的初步入门学习到这里,介绍常用的数据类型,持续-----------------

 

posted @ 2017-06-01 14:14  弗兰克中校  阅读(161)  评论(0编辑  收藏  举报