zoukankan      html  css  js  c++  java
  • X皮书之初识Redis(上)

     
    思维导图
     

     
     
      在上文中提到,我正在做豆瓣数据同步操作。现在同步操作已经做完了,现在的问题是读取问题。
     
     
    使用Redis原因
     
      现在没有足够的MySQL服务器支持我的业务,老大意思是要把压力交给Redis,主要是从效率上考虑。
     
      大致的架构是这样的。

     
    找资料
     
     
     
    操作
     

    准备并安装 

    进入src目录启动服务:

    看起来不错。

    下面来我们在客户端链接它。

                                         Redis把所有的值当作字符数组处理,而不关心它是其他什么。

     
    字符查询:
      

     
     
    数据结构
     

    Strings:

      理解成跟Memcached一样的类型,一个key对应一个value,其上操作与Memcached的操作类似。

      看我终端的命令:(其中get key是获取对应值的操作)

    Hashes:

      hash特别适合用于存储对象。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存储整个对象。如果value的大小超出一定限制后,Redis会在内部自动将zipmap替换成正常的hash实现。 

    看我的操作:

    lists:

      lists是一个双向链表结构,操作中key理解为链表的名字。——可以用作栈,也可以用作队列。

      注意:lists有长度限制,最大长度是2的32次方。

    sets

      set是集合——主要操作,对多个集合求交并差等操作,key理解为集合的名字。

      set也是通过hash table实现的。

    sorted sets:

      它是set的一个升级版本,它的实现是skip list和hash table的混合体。

    常用命令
     
    返回key值:keys
      返回满足给定pattern的所有key ——第二个参数必须有,如果没有会报错。

    确认key是否存在:exists

    删除一个key: del

    设置一个过期时间:expire(单位:秒)

    重命名key:rename

    返回值类型:type

    总结
     
      这只是基础篇,就是大致的熟悉下Redis。重点是要理解那5个基础结构,要知道每个结构的优缺点,对于不同的业务要选择合适的数据结构。——我自己会选择使用hash结构。
     
      还有跳表是很热门的数据结构,如果不熟悉花点时间熟悉下。
     
      我也是第一次使用。如果有误望大家多多指点。
     
    推荐
     
    喜欢编程
  • 相关阅读:
    C语言第三次博客作业---单层循环结构
    C语言第二次博客作业---分支结构
    C语言第一次博客作业——输入输出格式
    C语言--第0次作业
    Codeforces Round #341 Div.2 A. Wet Shark and Odd and Even
    Sources
    kuangbin_SegTree E (HDU 1698)
    (MST) HDOJ 1102 Constructing Roads
    kuangbin_SegTree B (HDU 1754)
    kuangbin_SegTree A (HDU 1166)
  • 原文地址:https://www.cnblogs.com/baochuan/p/2740600.html
Copyright © 2011-2022 走看看