当前位置: 首页 > news >正文

建网站的公司广州上海网站制作公司

建网站的公司广州,上海网站制作公司,做it行业招标网站,徐州网站建设与推广redis存储任何类型的数据都是以key-value形式保存#xff0c;并且所有的key都是字符串#xff0c;所以讨论基础数据结构都是基于value的数据类型 常见的5种数据类型是#xff1a;String、List、Set、Zset、Hash 一) 字符串(String) String是redis最基本的类型#xff0c;v… redis存储任何类型的数据都是以key-value形式保存并且所有的key都是字符串所以讨论基础数据结构都是基于value的数据类型 常见的5种数据类型是String、List、Set、Zset、Hash 一) 字符串(String) String是redis最基本的类型value最大是512MString类型是二进制安全的可以包含任何数据如jpg图片或者序列化的对象 1 使用场景 1) 缓存redis作为缓存层mysql做持久化层降低mysql的读写压力 2) 计数器redis是单线程模型一个命令执行完才会执行下一个同时数据可以一步落地到其他的数据源 3) 分布式session 4) 分布式锁 5) 限流 2 编码 String类型的编码包括 1) int编码保存用 long 类型的整数值 2) embstr编码长度小于44Byte的短字符串(redis3.2版本之前是39Byte之后是44Byte)对其进行修改后变成raw编码无论是否达到44字节 3) raw编码 长度大于44Byte的长字符串(redis3.2版本之前是39Byte之后是44Byte) 3 编码转换 1) int 编码的值不再是整数或大小超过了long类型的时自动转化为raw 2) 由于redis没有对embstr编码的值提供修改方法(embstr编码是只读的)在修改embstr编码的值时都会先转化为raw编码再进行修改修改后的对象一定是raw编码的无论是否达到了44Byte 二) List(列表) redis中的List其实就是双端链表 使用List的技巧 lpushlpopStack(栈) lpushrpopQueue(队列) lpushltrimCapped Collection(有限集合) lpushbrpopMessage Queue(消息队列) 1 使用场景 1) 简单队列发布微博用lpush加入时间轴最新消息排行展示新的列表信息 2) 消息队列PUSH 操作将任务存放在List中然后工作线程再用 POP操作将任务取出进行执行 2 编码 1) linkedlist双向链表当列表元素个数比较多或者某个元素占用空间比较大的时使用redis3 .2版本之前使用 2) ziplist压缩列表当列表元素个数比较少并且每个元素占用空间比较小时使用redis3 .2版本之前使用 3) quicklist快速列表结合了ziplist和linkedlist各自的优点redis3 .2版本开始使用 三) Set(无序集合) redis中的Set类型是无序集合集合中成员是不可重复的 添加删除查找元素的复杂度都是 O(1) 1 使用场景 1) 标签有同一标签或者类似标签的可以给推荐关注的事或者关注的人 2) 点赞点踩收藏 2 编码 1) hashtable数据全部存储于dict的键中值字段闲置不用 2) intset集合中存储的只能是数值数据且必须是整数 3 编码转换 同时满足以下两个条件时使用intset编码否则使用hashtable编码 1) Set中所有元素都是整数 2) Set中所有元素数量不超过512M(配置文件的set-max-intset-entries参数) 四) ZSet(有序集合) Zset类型和Set类型基本一样区别在于Zset类型是有序集合 Zset集合中的每个元素都会关联一个 double 类型的权重参数(score)使得集合中的元素能够按score进行有序排列 添加删除查找元素的复杂度都是 O(1) 1 使用场景 1) 排行榜如网站需要对用户点赞数从高到低进行排行 2) 权重分配带权重的队列如普通消息的score为1重要消息的score为2工作线程根据权重倒序获取保证重要的任务优先执行 2 编码 1) ziplist需要基于ziplist数据结构的基础做排序与去重 2) skiplist底层使用了dict与skiplist两种数据结构 单独使用dict虽然能以 O(1) 的时间复杂度查找成员但dict是无序的所以进行范围操作的时候都要进行排序 单独使用skiplist虽然能执行范围操作但是查找操作为O(logN) 因此redis使用了dict与skiplist两种数据结构来共同实现Zset既可以以O(1) 的时间复杂度查找成员又可以实现范围操作 3 编码转换 当Zset对象同时满足以下两个条件时使用 ziplist 编码否者使用 skiplist 编码 1) 保存的元素数量小于128(配置文件的zset-max-ziplist-entries参数) 2) 保存的所有元素长度都小于64Byte(配置文件的zset-max-ziplist-value参数) 五) Hash Hash是一个key(字段) 和 value(属性) 的映射表hash 特别适合用于存储对象 一个Hash可以存多个key-value 1 使用场景 1) 缓存用户信息视频信息等 2) 用户信息 3) 用户主页访问量 4) 组合查询 2 编码 1) ziplist 2) hashtable 3 编码转换 当同时满足下面两个条件时使用ziplist编码,否则使用hashtable 编码 1) 列表保存元素个数小于512(配置文件的set-max-intset-entries参数) 2) 每个元素长度小于64Byte
http://wiki.neutronadmin.com/news/41601/

相关文章:

  • 专业建站网站鹤壁市城乡一体化示范区网站
  • 建设黑彩网站商城网站建设模板
  • 购物券网站怎么做官网定制公司
  • 北京官方网站怎么做互联网推广策略
  • 胶州企业网站设计网站备案需要多少时间
  • 网站可以制作ios创建网站花钱吗
  • 高端网站制作软件wordpress投票模板
  • 做互联网网站待遇做AI免费网站
  • 广州网站制作公司多少钱seo算法培训
  • 肇庆cms建站系统小程序制作开发培训
  • 点评网站模板网站怎样注册备案
  • 一个专做里番的网站东莞网上推广怎么做
  • 事业单位网站设计2024年新手机上市时间表
  • 做一个网上商城网站建设费用多少钱自己做网站新手入门
  • 网站开发调查表wordpress 跳转 代理
  • 合肥网站设计高端公司网站架设
  • 厦门网站制作系统网站 设计公司 温州
  • 怎样进行网站推广传媒公司名字大全免费
  • 怎么推广自己的网站?delphi网站开发教程
  • 网站顶部下拉广告专业高端网站设计首选
  • 乐清做网站建设企业培训十大热门课程
  • 响应式网站 外贸企业所得税的计算公式
  • 手机网站加速器中国商铺网
  • 电影网站建设基本流程景区协会官方网站建设
  • 网站的模块中国建筑界网官网
  • 建设网站公司怎么样红旗网站建设
  • 网站类网站开发外协机械加工订单
  • 做推广比较好的网站江苏扬州建设工程信息网站
  • 泰安千橙网站建设优化熊掌号程序员 给老婆做网站
  • 成都网站建设名录怎么做境外电商平台