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

有口碑的郑州网站建设做网站的策划需要做什么

有口碑的郑州网站建设,做网站的策划需要做什么,做融资的网站有哪些,公司网站设计 杭州 推荐刚写了redis主要的数据结构#xff1a; 动态字符串、双端链表、字典、压缩列表、整数集合、跳表等 redis肯定不能直接使用这些数据结构来实现数据库#xff0c;它用这些数据库建立了一个对象系统#xff0c;包含#xff1a; 字符串对象、列表对象、哈希对象、集合对象、…刚写了redis主要的数据结构 动态字符串、双端链表、字典、压缩列表、整数集合、跳表等 redis肯定不能直接使用这些数据结构来实现数据库它用这些数据库建立了一个对象系统包含 字符串对象、列表对象、哈希对象、集合对象、有序集合对象 我们可以针对不同的使用场景为对象设置多种分不同的数据结构实现从而优化对象在不同场景下的效率。 键值对 对于redis的键值对来说key只有字符串类型而v可以是各种类型 我们习惯把“这个键所对应的值是一个列表”表达为这是一个“列表键。 TYPE 命令的实现方式也与此类似 当我们对一个数据库键执行 TYPE 命令时 命令返回的结果为数据库键对应的值对象的类型 而不是键对象的类型 # 键为字符串对象值为列表对象redis RPUSH numbers 1 3 5 (integer) 6redis TYPE numbers list 对象 我们看一下redis对象的组成 typedef struct redisObject {// 类型unsigned type:4;// 编码unsigned encoding:4;// 指向底层实现数据结构的指针void *ptr;// ... } robj; 通过 encoding 属性来设定对象所使用的编码 而不是为特定类型的对象关联一种固定的编码 极大地提升了 Redis 的灵活性和效率 因为 Redis 可以根据不同的使用场景来为一个对象设置不同的编码 从而优化对象在某一场景下的效率。 字符串对象 字符串对象的编码可以是 int 、 raw 或者 embstr 。 如果一个字符串对象保存的是整数值 并且这个整数值可以用 long 类型来表示 那么字符串对象会将整数值保存在字符串对象结构的 ptr属性里面将 void* 转换成 long  并将字符串对象的编码设置为 int 。 如果字符串对象保存的是一个字符串值 并且这个字符串值的长度大于 39 字节 那么字符串对象将使用一个简单动态字符串SDS来保存这个字符串值 并将对象的编码设置为 raw 。 如果字符串对象保存的是一个字符串值 并且这个字符串值的长度小于等于 39 字节 那么字符串对象将使用 embstr 编码的方式来保存这个字符串值。 embstr 编码是专门用于保存短字符串的一种优化编码方式 这种编码和 raw 编码一样 都使用 redisObject 结构和 sdshdr 结构来表示字符串对象但 raw 编码会调用两次内存分配函数来分别创建 redisObject 结构和 sdshdr 结构而 embstr 编码则通过调用一次内存分配函数来分配一块连续的空间 空间中依次包含 redisObject 和 sdshdr 两个结构。 embstr 编码有以下好处 embstr 编码创建删除字符串对象只需操作一次内存因为数据都保存在一块连续的内存 所以这种编码的字符串对象比 raw 编码字符串对象能更好地利用缓存带来的优势。 列表对象 列表对象的编码可以是 ziplist 或者 linkedlist 。 当列表对象可以同时满足以下两个条件时 列表对象使用 ziplist 编码 列表对象保存的所有字符串元素的长度都小于 64 字节列表对象保存的元素数量小于 512 个 不能满足这两个条件的列表对象需要使用 linkedlist 编码。 哈希对象 哈希对象的编码可以是 ziplist 或者 hashtable 。 当哈希对象可以同时满足以下两个条件时 哈希对象使用 ziplist 编码 哈希对象保存的所有键值对的键和值的字符串长度都小于 64 字节哈希对象保存的键值对数量小于 512 个 不能满足这两个条件的哈希对象需要使用 hashtable 编码。 集合对象 集合对象的编码可以是 intset 或者 hashtable 。 当集合对象可以同时满足以下两个条件时 对象使用 intset 编码 集合对象保存的所有元素都是整数值集合对象保存的元素数量不超过 512 个 不能满足这两个条件的集合对象需要使用 hashtable 编码。 有序集合对象 有序集合的编码可以是 ziplist 或者 skiplist 。 当有序集合对象可以同时满足以下两个条件时 对象使用 ziplist 编码 有序集合保存的元素数量小于 128 个有序集合保存的所有元素成员的长度都小于 64 字节 不能满足以上两个条件的有序集合对象将使用 skiplist 编码。 这里多说两句各个语言的对象其实都差不多底层实现也就那几个比如java中的容器c的STL。java的hashset就是一个哈希而已hashmap就是k带了一个v而”有序的“Treemap使用了红黑树这种有平衡性的搜索二叉树。 redis的有序集合并没有再采取hash红黑树的操作而是把平衡树换成了跳表实际上性能真的没差多少甚至有时比红黑树有优势比如跳表的性能较为平均红黑树攒了很多次不平衡要调整可能会带来资源需求的一个高峰再加上跳表实现简单的优点红黑树真的没什么优势。 并且就算是真的想用一种带平衡性的搜索树现在竞赛也是用的华人之光发明的SB树。 有序集合的优点就是它的有序操作比如拿最大最小值红黑树时间o(logN),而哈希表只能一个一个遍历。缺点在于插入一个值的时间也是o(logN),跳表也是。而哈希表插入数是o(1). 要了解底层和这些优缺点
http://www.zqtcl.cn/news/123421/

相关文章:

  • 玉溪做网站的公司delphi xe10网站开发
  • 使用vue做的网站有哪些企业门为什么要建设门户网站
  • 上海移动云网站建设在门户网站上爆光怎么做
  • 网站建设开票内容百度浏览器广告怎么投放
  • 深圳公司网站建立小程序商店制作
  • 网站建设知识网犀牛云做网站多少钱
  • 东莞seo优化推广重庆做网络优化公司电话
  • 网站建设的设计思路高校建设网站的特色
  • 宁波网站建设八宝山做网站的公司
  • 哪里有网站建设多少钱网站建设哪家服务态度好
  • 白云区网站开发公司备案不关闭网站的方法
  • 男的做那个视频网站家用电脑可以做网站服务器
  • 网站建设的行业客户烟台市未成年思想道德建设网站
  • 设计个网站要多少钱鼓楼网站开发
  • 东莞外贸网站搭建制作北京app开发制作
  • 优化网站公司外包微信商城怎么开店
  • 网站设计的导航栏怎么做东莞seo网络优化
  • wordpress直接上传视频网站吗做网站软件
  • 电脑维修网站模板下载来个网站吧好人一生平安2021
  • 做公益选哪个网站好网站建设方案多少钱
  • 丰台做网站的公司vs2015 手机网站开发
  • 宝思哲手表网站qq官网登录入口网页版
  • 二手书网站开发设计太原建设网站的公司
  • 江门网站seo推广qq代挂网站建设
  • 合肥制作网站企业做文字logo的网站
  • php 网站提速有没有帮人做简历的网站
  • 九江建网站报价比特币网站做任务
  • 电子商务网站开发目的和意义网站建设湖南岚鸿建设
  • 网站改版提交给百度个人定做衣服店
  • 网站接广告网站用途说明