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

泰然建设网站房价下跌最新消息

泰然建设网站,房价下跌最新消息,天津宁河区建设网站,微信微商城平台使用场景 在大型的秒杀库存扣减#xff0c;app首页流量高峰#xff0c;很容易将传统的关系型数据库(mysql#xff0c;oracle等#xff09;给压垮。 还有很多没必要持久化的数据#xff0c;比如说短信验证码#xff0c;点赞数等。 分布式锁。 分布式缓存(会话共享)。 …使用场景 在大型的秒杀库存扣减app首页流量高峰很容易将传统的关系型数据库(mysqloracle等给压垮。 还有很多没必要持久化的数据比如说短信验证码点赞数等。 分布式锁。 分布式缓存(会话共享)。 数据结构 redis的存储是以key-value的键值对的形式存储的其中key都是String类型value常见的就是以下的5种。 String 字符串类型可以包含任何数据最大可以是512MB内部的实现结构和ArraList类似采用内分配几余的形式来减少内存的频繁分配(降低CPU压力)。 在创建字符串的时候len 的长度就是capacity当需要修改时如果存储容量不够的话就会进行扩容当字符串的容量小于1mb时就会执行加倍扩容即扩容到2*capacity当容量大于1MB时每次多增加1MB。 set name mengze --存放字符串键值对 mset name mengze age 18 --批量存放键值对 SETNX name mengze --如果不存在key为name那么就设置value (分布式锁的原理) get name -- 获取key mget name age --批量获取key DEL key --删除key expire key 6 --设置过期时间单位为秒 INCR key --将key中存储的数字加1 DECR key --将key中存储的数字减1 INCRBY key 2 --将key中存储的值都加上2 DECRBY key 2 --将key中存储的值都减去2 需要注意的是尽量避免同时操作大批量的key比如给所有的key设置过期时间因为redis是单线程的如果操作耗费太多时间会造成redis的假死。(暂时不对外提供服务) 使用场景 1不需要持久化的数据或者频繁更新的数据比如验证码点赞数。 2对象缓存 可以通过序列化工具类来缓存java对象比如将某个对象序列化为json需要用的时候再取出来反序列化。常见的使用方式有mybatis二级缓存接口级别缓存等等。 3使用setnx来实现分布式锁(使用分布式锁时一定要设置过期时间防止不能释放锁造成死锁) 4可以用incrdecr来实现点赞数 5分布式全局id 在一个大型的系统下如果涉及到分库分表后mysql 的自增id肯定满足不了需要如果用户量不大可以每次从redis 这里通过自增获取id但是如果用户量大每次都拿肯定会给redis造成压力可以一次取1000个放本地缓存里等用完了再去取。 Hash 是一个key-value的键值对和iava里的hashMap相似当数据量较小是采用的是ziphash (默认)当数据量较大时采用hashtable。 常用命令 hset hash name mengze --设置值 hget hash name -- 获取值 hmset hash name mengze age 18 --批量设置 hmget hash name age --批量获取 hgetall hash --获取key的所有值 hkeys hash --获取hashmap中所有的key hvals hash --获取hashmap中所有的value应用场景 可以用于存储系统中对象的数据。 也可以用于做缓存来解决数据一致性的问题(不推荐)。 List redis的list为quickList (快速链表)即多个ziplist (压缩链表)组合起来的。 redis的list是按插入顺序排序的可以添加的一个节点到链表的头部(头插)或者尾部(尾插)是一个双向链表对两端的操作性能会比较高对中间节点的操作性能相对来说较差(因为得通过指针对遍历对应的节点)。 常用指令 rpush myList valu5e1 --向 ist 的头部 (右边)添加元素 rpush myList value2 value3 --向list的头部 (最右边)添加多个元素 lpop myList --将list的尾部(最左边)元素取出 rpop myList2 value1 --尾插 使用场景 可以实现栈和队列需要注意的是push和pop的操作是原子性的所以操作redis的时候直接用就行了不要把list读出来通过java修改再放回去这样不能保证数据一致性。 (先读先写或先读后写)。 Set redis的set和list相似只不过可以自动去重。 (java的set也可以自动去重) 当你需要存储一个没有重复数据的列表时就可以选择set同时set也可以判断某个数据在不在集合里面。 set的底层结构是一个value为null的哈希表也就意味着他的时间复杂度为0(1),也就意味着即使数据再多查找的时间也是一样的。 使用场景 可以用来计算多个数据源的交集或并集。 SortedSet 和set很相似sortedSet是一个有序不重复的列表。SortedSet里面的每个节点都关联了一个权重用来排序。 (集合里的每个节点是唯一的但是评分却可以是相同的)利用这个特性我们可以利用redis来实现排行榜。也可以很快速的获取到一个区间内的节点。 SortedSet的的底层是hash和跳表了一个很典型的数据结构牺牲空间来换取时间) 。hash的作用是存储每个节点和权重跳表的作用是用来快速获取一个区间里的节点。 redis常用的数据机构就是以上五种还有一些不常用的。 使用场景 直播系统的实时排行榜 Geospatial 地理位置的缩写可以表示一个区域的二维坐标redis提供了经纬度设置查询范围查询距离查询经纬度hash等操作。 使用场景 可以用来计算距离最近的门店。 BloomFilter布隆过滤器 可能判断失误。因此他不适合零失误的场景布降过滤器是一段很长的二进制向量和一系列随机映射函数用来快速检索一个元素是否在一个集合里。但是他的准确率不是百分之百有可能判断失误。因此他不适合零失误的场景。 优点 支持海量数据场景下判断元素是否存在。 存储空间占用量小不存储数据本身存储的是hash值。 不存储数据本身可以用来存储加密数据。 缺点 不支持计数同一个元素可以多次插入而且效果是相同的。 使用场景 用来解决缓存穿透问题。 可以判断用户是否阅读过某篇文章防止重复推送比如说抖音。
http://www.w-s-a.com/news/357936/

相关文章:

  • 网站建设摊销时间是多久微信官网免费下载安装
  • 网站解析是做a记录吗群晖 wordpress 阿里云
  • 涉县移动网站建设公司常州做网站的公司有哪些
  • 网站批量创建程序中国十大人力资源公司
  • 菏泽网站建设 梧桐树二次开发创造作用
  • 维护网站费用长沙广告设计公司排名
  • 模仿别人网站侵权wordpress 修改链接失效
  • wordpress文章设置受密码保护南宁网站优化公司哪家好
  • 网站开发工程师介绍设计类的网站
  • 嘉兴seo网站推广中山建网站多少钱
  • 高端汽车网站建设帮别人做网站自己为什么会被抓
  • 网站开发实验室建设方案wordpress 主题丢失
  • 珠宝网站建设平台分析报告郑州最新发布
  • 世界杯最新排名泉州seo网站关键词优
  • 广州公司网站提供如何推广新品
  • 网站建设如何描述沈阳网站建设推广平台
  • 用dw制作个介绍家乡网站学生个人简历
  • 建设银行企业网站访问不了wordpress搬到谷歌服务器
  • 网站建设与网站优化销售别墅庭院园林景观设计公司
  • 沈阳红方城网站建设专业的微网站哪家好
  • 医院网站asp东营信息发布平台
  • 网站全站建设开题报告范文南京本地网站
  • 网站漏洞扫描工具wampserver集成环境搭建了一个织梦cms网站
  • 如何在局域网上做网站宁波设计公司排行榜
  • 自己的电脑做网站服务器吗百度搜索风云榜总榜
  • 做化妆品的一些网站企业网站建设与营运计划书
  • 重庆速代网络科技seo整站优化服务教程
  • 成都比较好的装修设计公司seo3的空间构型
  • 开发商建设审批网站成都创意设计公司
  • 百度快照比网站上线时间早wordpress新建阅读量字段