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

网站seo方案设计网站建设与运营答案

网站seo方案设计,网站建设与运营答案,有没有做废品的网站,wordpress文件wordpress一) 字符串(String) 1 使用场景 2 编码 3 编码转换 二) List(列表) 1 使用场景 2 编码 三) Set(无序集合) 1 使用场景 2 编码 3 编码转换 四) ZSet(有序集合) 1 使用场景 2 编码 3 编码转换 五) Hash 1 使用场景 2 编码 3 编码转换 五种基本数据类型 redis…

ffe3b497389347b381a98dc5a1398841.gif

 

一) 字符串(String)

1 使用场景

2 编码

3 编码转换

二) List(列表)

1 使用场景

2 编码

三) Set(无序集合)

1 使用场景

2 编码

3 编码转换

四) ZSet(有序集合)

1 使用场景

2 编码

3 编码转换

五) Hash

1 使用场景

2 编码

3 编码转换

五种基本数据类型

redis存储任何类型的数据都是以key-value形式保存,并且所有的key都是字符串,所以讨论基础数据结构都是基于value的数据类型

 

常见的5种数据类型是:String、List、Set、Zset、Hash

 

 

 

 

 

一) 字符串(String)

String是redis最基本的类型,value最大是512M,String类型是二进制安全的,可以包含任何数据,如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的技巧

lpush+lpop=Stack(栈)

lpush+rpop=Queue(队列)

lpush+ltrim=Capped Collection(有限集合)

lpush+brpop=Message 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://www.yayakq.cn/news/76997/

相关文章:

  • 科技公司网站设计风格网站建设对于企业的必要性
  • 网站开发接私单自己网站给别人网站做外链
  • 企业门户网站建设方案文档万户网站天下
  • 哈尔滨城市建设局网站开发公司没有资质有什么影响
  • 沧州手机网站开发广告位招商怎么找客户
  • 天津制作网站公司推荐广告营销案例分析
  • 网站建设与管理规范乐都企业网站建设
  • 龙岩网站建设要多久wordpress d8 3.0
  • 网站建设都包括哪些内容做网站骗老外的钱
  • 四川鸿业建设集团公司网站泉州网站制作建设
  • wap网站源码下载湛江百度网站快速排名
  • 网站制作怎么创业石家庄站布局图
  • 温州市网站制作多少钱小程序外包公司发展前景
  • 来宾网站建设wordpress主题 sen
  • 用psd做的买书网站慈云寺网站建设
  • 网站做防篡改创业平台官网
  • 镇江网站建设报价建筑云平台
  • 成品网站源码的优化技巧淄博做网站的公司
  • 谷歌没收录网站主页 301重定向短视频推广策划方案
  • 可信网站的作用大连品尚茗居装修公司怎么样
  • 什么网站可以做海报网页制作与设计的英文
  • 社交网站盈利吗网站开发模板专家数据库
  • 邢台网站建设策划关键词优化搜索排名
  • 蚌埠市建设银行官方网站做网站赚钱需要多少人手
  • 南京润盛建设集团有限公司网站免费建网站模板
  • 专做火影黄图的网站有谁用2008做网站服务器
  • 网站音乐播放器插件西维科技做网站怎么样
  • VPS如何做镜像网站保险网站
  • 网站建设中问题分析与解决免费的制作网站
  • 提出网站推广途径和推广要点旅游网站内容规划