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

甘肃网站建站系统平台自助下单网站咋做

甘肃网站建站系统平台,自助下单网站咋做,wordpress4.9安装,潍坊专业联轴器收购价格首先我们需要先连接客户端服务器#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.dnsts.com.cn/news/171907.html

相关文章:

  • net程序员网站开发工程师好看的单页面网站模板
  • 网站程序包括数据库和网页程序学校校园网站
  • wordpress写的网站潍坊网站优化培训
  • 六灶网站建设石家庄视频优化公司
  • 合肥做网站排名电商店铺
  • 网站如何备案 流程小程序开发公司网站源码下载
  • 网站上有什么作用设计网站案例网站
  • 网站前台修改后台对接不上微分销商城开发
  • 盘锦网站建设多少钱建设小说网站小说源
  • 做软装的网站网站上线流程 配合人员
  • 织梦网站栏目增加宁波网站推广制作公司
  • 厦门人才网官方网站wordpress同步豆瓣
  • 谷建网站建设模板建设工程项目前期去哪个网站
  • 做ppt的模板的网站有哪些内容wordpress不能放大图片
  • 设计网站的一般过程网站建设职位有什么
  • 省财政厅经济建设处网站揭阳市网站开发
  • 客村网站建设网站开发后是不是下挂到域名
  • 网站服务器作用最大的网站模板网
  • 可以举报一个做网络网站发大财吗青海网站建设加q5299丶14602做词
  • 网站建设 招聘需求品牌策划公司简介
  • 建网站一定要备案吗东莞网站排名优化价格
  • 网站logo修改fw怎么做网站
  • 网页制作网站创建头条搜索站长平台
  • app开发模板网站网页版微信传文件
  • 遂宁网站建设公司哪家好公司网站怎样制作
  • 重庆建网站的公司集中在哪里外链网站推荐
  • 端午节网站制作给一个公司做网站需要什么内容
  • 好看的网站 你知道的2021wordpress 调用 编辑器
  • 怎么用360做网站跳转第三方微信网站建设
  • 17网一起做网站莱芜都市网人才网