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

邢台市做网站百度一下首页登录入口

邢台市做网站,百度一下首页登录入口,北京华兴森茂印刷网站建设项目,软件承接网站建设文章目录 一.整体1.RedisDb2.对象头 二.string三.list1.ziplist2.quicklist 四.hash五.set六.zset1.查找2.插入3.删除4.更新5.元素排名 一.整体 1.RedisDb redis内部的所有键值对是两个hash结构,维护了键值对和过期时间 dict *dictdict *expire 2.对象头 int t…

文章目录

    • 一.整体
      • 1.RedisDb
      • 2.对象头
    • 二.string
    • 三.list
      • 1.ziplist
      • 2.quicklist
    • 四.hash
    • 五.set
    • 六.zset
      • 1.查找
      • 2.插入
      • 3.删除
      • 4.更新
      • 5.元素排名

一.整体

1.RedisDb

redis内部的所有键值对是两个hash结构,维护了键值对和过期时间

  • dict *dict
  • dict *expire

2.对象头

  • int type
  • int encoding
  • int lru
  • int refcount
  • void *ptr

二.string

SDS动态字符串,可以修改。结构体中维护了数组的容量和长度,在占用字节数较小时采用embstr(使用malloc分配一次内存,对象头和数据连续存储)的形式存储,在长度较大时采用raw形式(malloc分配两次内存,对象头和数据分开存储)存储。

扩容策略:长度小于1M时加倍扩容,长度大于1M时每次扩容增加1M

常用指令:

  • set
  • get
  • exists
  • del
  • expire
  • incr、incrby

三.list

快速列表:连续存储元素的ziplist通过指针连接起来组成快速列表。

基本操作:

  • rpush
  • rpop
  • lpush
  • lpop
  • lindex() ,获取第几个元素
  • ltrim(),保留范围内的数据

1.ziplist

一块连续的内存空间,元素之间紧凑存储,没有冗余间隙。元素体维护着前一个元素的长度(长度小于254时占用一个字节,超过时占用5个字节)、编码、数据,可以存储不同类型的数据,通过编码优化存储占用。

注意点:

  • 增加元素,每增加一个元素就要扩展内存,并将之前的内容进行拷贝。所以ziplist会限定大小,超出时就会新增ziplist
  • 级联更新,前一个元素的长度发生增长并切好超过了254,并且导致下一个元素的长度增加恰好也超过254,如此向下传递到的更新效应

2.quicklist

通过将ziplist通过前后指针连接起来形成的双向链表。

注意点:

  • 新增ziplist,单个ziplist大小超过8k字节时,就会新起一个ziplist
  • 压缩深度:0:不压缩,1:首尾不压缩

四.hash

类似与hashmap,内部是数组加链表的结构,不过内部结构维护了两个hash结构。因为redis为了高性能在rehash时采用了渐进式的rehash方式(查询时同时查询两个hash结构)。

基本操作:

  • set
  • get
  • hgetall
  • hlen
  • hmset
  • hincryby

注意点:

  • 元素数大于数组数时就会扩容
  • 元素数低于数组数的10%就会扩容

五.set

相当于hashset,无序键值对,元素的value为NULL。

基本操作:

  • sadd
  • smember
  • sismember,是否存在
  • scard,获取元素个数
  • spop,弹出一个

六.zset

内部结构是hash字典和跳跃列表,字典存储value和score的对应关系,跳跃列表提供按照score来排序的功能。

基本操作:

  • zadd
  • zrange
  • zrevrange
  • zcard
  • zscore
  • zrank
  • zrankbyscore
  • zrem

1.查找

从header的最高层开始查找,直到找到本层最后一个比目标score小的元素,然后进入到下一层,重复上一步骤,直到找到目标元素或遍历到最底层。

2.插入

  • 查找待插入位置,记录搜索路径
  • 新建节点,分配随机层数
  • 将搜索路径上的节点和新节点通过前后指针连接起来
  • 如果节点的高度大于最高高度,更新最高高度

3.删除

  • 查找待删除元素,记录搜索路径
  • 重排搜索路径上的前后指针
  • 最高高度变化的话更新最高高度

4.更新

先删除后增加

5.元素排名

根据value获取score后,将搜索路径上的span跨度值相加就是元素排名。

http://www.ds6.com.cn/news/44625.html

相关文章:

  • wordpress next page免费网站seo诊断
  • 做移动网站多少钱石家庄seo推广公司
  • 沈阳大型网站制作公司国内最新新闻
  • 不用ftp做网站百度网盘客户端
  • 抚州市做棋牌网站太原网络推广公司
  • 杭州外贸网站建设公司申跃网站不收录怎么办
  • 专门做电商的招聘网站南宁网络推广培训机构
  • phpcms做的网站苹果cms永久免费建站程序
  • 设计师网站十大网站排名河南今日头条新闻最新
  • 网站建设使用的工具黑帽seo培训
  • 做的网站打印全乱掉了简述获得友情链接的途径
  • 怎么免费做网站教程自然搜索优化
  • 做app做网站从何学起好的seo网站
  • 网站建设客服工作搜索引擎推广有哪些
  • 长沙协会网站设计专业服务怎么做网页
  • 网站建设wesnowsat芜湖网络营销公司
  • 北京好的网站设计公司网站域名注册
  • 凡科 wordpress台州关键词优化推荐
  • 网络公司做网站后交代给客户什么360搜索网址是多少
  • 重庆学校网站建设武汉seo优化顾问
  • 做药品的b2b网站重庆网站排名
  • 江门网页模板建站重庆百度推广的代理商
  • 重庆企业建站模板免费个人网站制作
  • 广州白云区做网站二级域名查询网站
  • c 网站开发视频教程营销型网站和普通网站
  • 法制办网站建设惠州seo外包服务
  • 重庆装修公司口碑排名求职seo服务
  • 网络营销网站建设公司产品推广介绍
  • wordpress 私活乐云seo官网
  • 怎么做可以聊天的网站吗网络营销推广实战宝典