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结构。
     
      还有跳表是很热门的数据结构,如果不熟悉花点时间熟悉下。
     
      我也是第一次使用。如果有误望大家多多指点。
     
    推荐
     
    喜欢编程
  • 相关阅读:
    springmvc 方法参数自定义的解析
    numpy生成随机数组,超几何分布与连续分布
    机器学习笔试知识点
    梯度下降(Gradient Descent)小结
    numpy傅里叶变换
    numpy奇异值分解,广义逆矩阵与行列式
    numpy求解特征值和特征向量
    Scrapy简单介绍
    python异步库twisted
    同步,异步,阻塞和非阻塞的通俗理解
  • 原文地址:https://www.cnblogs.com/baochuan/p/2740600.html
Copyright © 2011-2022 走看看