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

江北区网站建设造价工程师注册公示查询

江北区网站建设,造价工程师注册公示查询,新浪网页版电脑版,建设团队网站首先我们需要先连接客户端服务器#xff0c;此时我们需要通过redis-cli和redis服务器进行交互#xff0c;输入ping来确保通路的流畅 #xff08;一#xff09;get和set redis中最核心的两个命令就是get和set#xff0c;get就是根据key来取出对应value#xff0c;set就是把…   首先我们需要先连接客户端服务器此时我们需要通过redis-cli和redis服务器进行交互输入ping来确保通路的流畅 一get和set redis中最核心的两个命令就是get和setget就是根据key来取出对应valueset就是把key和value给存储进去redis是根据键值对的方式存储数据的 如果通过get想要获取的value不存在就会返回一个nil跟java中的null类似 二redis全局命令 redis是支持很多数据结构的value中的数据可以用不同数据结构存储key是固定的字符串类型但是不同的数据结构有不同的命令我们接下来要说的是所有数据结构类型都通用的一些命令。 1.keys 用来查询当前服务器上匹配的key通过一些通配符来描述key的模样匹配上述模样的key 匹配任意一个字符 *匹配任意多个字符 [ae]:只匹配ae字符 [a-e]:匹配a到e的字符 [^e]:匹配除了e的字符 keys的复杂度是ON因为需要遍历所有key所以我们在生产环境上一般不使用keys尤其还有一个keys*遍历所有key 那为什么我们生产环境一般不适用keys是因为redis是单线程服务器如果keys*的时间很长redis就会被阻塞无法给其他客户端提供服务。 而且redis经常用于缓存来减少服务器的压力如果redis阻塞那么服务器的请求量会一瞬间增大容易把服务器弄挂 2.exists 来判断key是否还存在 返回值是key存在的个数我们可以同时传输多个key 时间复杂度是O1因为redis组织key是按照哈希表的方式来组织的 那上述代码我们可以一次访问多个也可以一次访问一个那两者有什么区别 本质上没有区别但是我们要知道redis是一个客户端服务器结构的程序要通过网络来进行通信但是分开写需要进行多次网络通信这样就会导致我们的效率降低所以redis很多命令都可以一次操作多个key或者多种操作 3.del 删除指定的key 也可以一次删除多个或者一个返回值是删掉的个数 时间复杂度O1 我们之前在mysql数据库中删除操作是drop当时我们说删除操作是很危险的因为一旦删除了就找不回来了redis同理也十分危险但是比mysql还是好了很多不同场景 比如我们redis做缓存我们放的是热点数据所有数据都在数据库服务器中有备份此时删除一两个问题不大删多了会造成服务器请求量过大但是如果redis做服务器那么删除数据就也很危险如果把redis做消息队列就看我们的是什么数据了是否重要 4.expire和pexprie 作用是给指定的key设置过期时间,当key存活时间超出这个指定值就会被自动删除可应用在验证码分布式锁等等 expire单位是spexpire是ms 我们要设置过期时间是要针对已经有的key设置设置成功就返回1失败就返回0时间复杂度也是O1 那此时我们怎么知道是不是10s钟删除了呢这时我们需要另一条指令 5.ttl和pttl 用来查看当前的key的过期时间还有多少 ttl的单位是spttl的单位是ms 如果执行完会返回-2 扩redis的key过期策略是如何实现 我们刚才说expire可以给key设置过期时间到时间就要进行删除那么一个redis中有很多key这些大部分有过期时间我们redis怎么知道那些key要被删除如果通过遍历就会导致效率过低很可能会影响我们的服务器 所以redis是通过 1.定期删除 我们redis会定期的抽取一部分数据一般不会很大来验证过期时间如果到了会进行删掉之所以抽取一部分数据也是为了保证定期删除这个操作的速度。 2.惰性删除 我们如果时间到了也不删除他key还存在如果我们之后访问到了用到了这个key就会让redis触发删除操作删除这个key同时返回nil 但是光凭上述两个删除策略会导致在内存中仍然有需要删除的数据存在本来redis就是在内存中存储空间不大所以我们引入了内存淘汰策略 3.内存淘汰策略 这个我们之后会说 在我个人看来redis是可以通过一个定时器来进行定时删除的他可以让内存尽快的被释放但同时引入的问题就是会占用更多cpu资源而占用更多cpu资源就需要引入多线程我们redis没有引入定时器在我个人看来就是因为redis是单线程的虽然之后改成了支持多线程但那也是之后的事情 那来说一下我个人会怎么实现这个定时删除 首先我们要引入一个定时器可以基于优先级队列也可以通过时间轮如果通过优先级队列我们可以把过期时间早的设置成高优先级过期时间早的就可以先出队列这时队首元素就是最早要过期的key我们就不要遍历所有key来判断过期时间只需要判断队首key的过期时间即可但是虽然这个要在多线程情况下执行需要分配一个线程但是一直判断队首key时间也会导致cpu占用率过高这时我们需要设置一个等待时间等时间到了再去唤醒这个线程  如果在等待时来了一个新的线程就需要先唤醒下刚才的线程重新检查队首元素重新设置阻塞时间。 通过时间轮就是把时间划成几个小段每个小段代表不同的时间类似于哈希表的结构(但是跟名字一样是一个圈)每个小段里是一个链表每个链表代表一个要执行的任务我们每次添加一个key如果有过期时间就会放入对应的小段链表中每次走到这个各自就会尝试一下这个链表上的任务 我认为上述通过优先级队列和时间轮实现定时器的方法可以很好的解决问题 6.type 返回key对应value的数据类型 时间复杂度O1
http://www.hkea.cn/news/14507574/

相关文章:

  • 山东企业网站建设推荐做网站收广告费
  • 甘肃嘉峪关建设局网站云服务器 虚拟机
  • 视频网站开发工程师诚信通与网站建设区别
  • 公司微信网站制作企业展厅布展设计公司
  • 做外贸比较好的网站有哪些安徽六安地图
  • 鑫灵锐做网站多少钱娱乐论坛网站建设方案范文
  • jquery扁平自适应网站html5模板dw网页设计个人介绍
  • 公司网站设计图片石家庄互联网传销多少律师
  • 网站运营seo实训总结网站建设项目需求分析流程
  • 申请网站空间wordpress有什么有趣的插件
  • 青岛易龙网站建设网站设计是用ps做图吗
  • 宝塔搭建网站教程免费动态域名申请
  • 电子商务网站课程设计总结广州网站建设好公司
  • 网站建设与管理出来工资网站付款链接怎么做的
  • 做网站ps能用美图秀秀么域名注册时间查询
  • 网站开发服务合同范本宠物交易网站模板
  • 外贸网站怎么建设中秋节网页设计素材
  • 做外贸出口衣服的网站职高网站建设例题
  • 做数码测评的网站wordpress英文站群
  • 网站开发技术支持与保障2022中国进入一级战备了吗
  • 网站怎么做参考文献成都住建局官网网签
  • 如何让百度k掉网站社区做图网站有哪些
  • 哪些网站可以做店铺推广营销型网站制作费用
  • 河北省住房和城乡建设局网站下载登录微信
  • php网站的数据库在哪佛山营销网站建设
  • 哪些网站做简历合适长沙人才招聘网长沙58同城招聘网
  • dede双语网站杭州软装设计公司哪家好
  • dedecms 获取网站地址caddy搭建wordpress
  • 唯品会网站架构做网站厦门
  • 徐州网站建设求职简历河北网站推广公司