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

在线设计响应式网站免费的推广引流软件下载

在线设计响应式网站,免费的推广引流软件下载,加强县乡两级人大网站建设,网站建设培训美女目录 Redis通用命令Redis中最核心的两个命令getset Redis全局命令keys语法注意事项 existsdel(delete)expirettlredis的key的过期策略是怎么实现的?了解拓展 type总结 Redis通用命令 Redis的命令非常非常多,所以 1. 掌握常用命令(多操作练习…

目录

  • Redis通用命令
      • Redis中最核心的两个命令
        • get
        • set
      • Redis全局命令
        • keys
          • 语法
          • 注意事项
        • exists
        • del(delete)
        • expire
        • ttl
        • redis的key的过期策略是怎么实现的?
          • 了解拓展
        • type
        • 总结

Redis通用命令

Redis的命令非常非常多,所以

1. 掌握常用命令(多操作练习)
2. 学会使用Redis的文档

Redis官方链接
在这里插入图片描述

Redis中最核心的两个命令

get
根据key来取value
set
把key和value存储进去
key和value本质都是字符串

必须要进入redis客户端才能执行redis命令

set key value

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

redis中的命令不区分大小写

get key

get命令直接输入key就能得到value,如果当前key不存在,会返回一个nui 和 null/NULL是一个意思

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Redis全局命令

Redis支持很多种数据结构,整体来说Redis是键值对结构,key固定就是字符串,value实际上会有很多种类型(常用的有 字符串,哈希表,列表,集合,有序集合)————操作不同的数据结构,就会有不同的命令

全局命令,就是能够任意搭配任意一个数据结构来使用的命令

keys

用来查询当前服务器上匹配的key,通过一些特殊符号(通配符)来描述key的模样,匹配上述模样的key就能被查询出来

语法
keys pattern/*pattern 用来描述另外的字符串是长什么样的
具体写法,支持那些通配符?
1. ? 匹配任意一个字符
2. * 匹配0个或者多个任意字符
3. [abcde] 只能匹配到a,b,c,d,e
4. [^e] 排除e,只有e匹配不了,其他的都能匹配
5. [a-b] 匹配a-b这个范围内的字符,包含两侧边界
*/

在这里插入图片描述

  1. 匹配任意一个字符

    在这里插入图片描述

  2. *** ** 匹配0个或者多个任意字符

    在这里插入图片描述

  3. [abcde] 只能匹配到a,b,c,d,e

在这里插入图片描述

  1. [^e] 排除e,只有e匹配不了,其他的都能匹配
    在这里插入图片描述

  2. [a-b] 匹配a-b这个范围内的字符,包含两侧边界

在这里插入图片描述

注意事项
keys的时间复杂度为O(n),所以,在生产环境上,一般都会禁止使用keys命令,尤其是keys
生产环境上的keys可能会非常的多,而redis是一个单线程的服务器,执行keys*的时间非常长,就导致redis服务器被阻塞了,无法给其他客户端提供服务
redis经常会用于做缓存,挡在mysql的前面,玩意Redis被一个kesy*阻塞住,此时其他的redis操作就超时了,此时这些请求就会直接查数据库,突然有一大波请求过来,mysql措手不及,就容易挂,从而导致整个系统直接瘫痪
exists
EXISTS key [key ...] 判断某个key是否存在
返回值:key存在的个数。  针对多个key来说是非常有用的
时间复杂度 O(1) ————> redis组织这些key就是按照哈希表的方式来组织的 相当于unordered_map<key,value>

在这里插入图片描述

del(delete)
DEL key [key ...] 删除指定的key,可以一次删除一个或者多个在之前学mysql的时候,删除类的操作,就很危险,一旦删除了之后,数据局就没了
但是redis主要的应用场景,就是作为缓存,此时 redis里存的只是热点数据
全量数据存在mysql数据库中,此时如果把redis中的key删除了几个,一般来说问题不大
如果把redis作为数据库,此时误删数据影响就大了

在这里插入图片描述

expire
EXPIRE key seconds
时间复杂度 O(1)
返回值:1表示成功,0表示设置失败
设置毫秒:  pexpire key ms
作用是给指定的key设置过期时间,key存活时间超出这个指定的值,就会被自动删除
比如手机验证码,几分钟内有效,就可以用到,还有外卖优惠券,在指定时间之内有效等

在这里插入图片描述

ttl

TTL key

获取指定的过期时间

返回值:剩余的过期时间。 -1表示没有关联过期时间,-2表示key不存在

redis的key的过期策略是怎么实现的?

一个redis中可能同时存在很多很多key,这些key中可能有很大一部分都有过期时间,此时,redis服务器咋知道哪些key已经过期要被删除,哪些key还没过期?

如果直接遍历所有的key,显然是行不通的,效率非常低

Redis整体的策略是:

  • 定期删除

  • +

  • 惰性删除

  1. 什么叫惰性删除,假设这个key已经到时间了,但是暂时还没删除它,key还存在,紧接着后面又一次访问正好用到了这个key,于是这次访问会让redis服务器触发删除key的操作,同时返回一个nil——————感觉这种方式有点像单例模式里的懒汉模式
  2. 为什么对于定期删除的时间,有明确的要求? 因为redis是单线程的程序,如果扫描过期key消耗的时间太长,正常处理请求命令就被阻塞了
  3. 虽然有了这两种策略结合,但是整体效果一般,仍然会有很多过期的key残留,没有及时删除掉,所以redis为了对上述进行补充,还提供了一系列的内存淘汰策略
了解拓展

定时删除:设置定时器,在时间到了之后,对其删除。

  • redis中并没有采取定时器的方式来实现过期key的删除,所以定期删除和定时器并没有关系

定时器:在某个时间到达之后,执行指定的任务

实现方式:

  1. 基于优先级队列/堆

在redis过期key的场景中,就可以通过“过期时间越早,优先级越高”,过期时间早的,先出队列。也就意味着,此时定时器中只要分配一个线程,让这个线程去检查队首元素,看是否过期即可,如果队首元素还没过期,后续元素一定没有过期。扫描线程不需要遍历所有的key,只盯住这一个队首元素即可;另外在扫描线程检查队首元素过期时间的时候,也不能检查的太频繁,此时做法就可以根据当前时刻和队首元素的过期时间,设置一个等待时间,等时间差不多到了,系统再唤醒在这个线程。——>此时扫描线程不需要高频扫描队首元素,把CPU的开销也省了下来。

  1. 基于时间轮实现的定时器

把时间划分成很多小段,没小段上都挂着一个链表,每个链表都代表一个要执行的任务(相当于一个函数指针),每次走到一个格子,就会把这个格子上的链表的任务尝试执行以下。

Redis并没有采取上述的方案

type
语法:TYPE key
时间复杂度:O(1)
返回值:key对应的vualue的数据类型[none,string,list,set,zset,hash,stream,...]

在这里插入图片描述

总结
  • keys:用来查看匹配规则的key
  • exists:用来判定指定key是否存在
  • del:删除指定的key
  • expire:给key设置过期时间
  • ttl:查询key的过期时间
  • type:查询key对应的value的类型

文章转载自:
http://dinnconictheroy.ydfr.cn
http://dinncogur.ydfr.cn
http://dinncoargumentation.ydfr.cn
http://dinncocladoceran.ydfr.cn
http://dinncogadite.ydfr.cn
http://dinncodogged.ydfr.cn
http://dinncoespantoon.ydfr.cn
http://dinncotorsel.ydfr.cn
http://dinncopromptness.ydfr.cn
http://dinncoproficiency.ydfr.cn
http://dinncoantiimperialism.ydfr.cn
http://dinncoconciliate.ydfr.cn
http://dinncorhabdom.ydfr.cn
http://dinncoroofer.ydfr.cn
http://dinncominisub.ydfr.cn
http://dinncopurpura.ydfr.cn
http://dinncoincremental.ydfr.cn
http://dinncosulfuration.ydfr.cn
http://dinncoapennine.ydfr.cn
http://dinncoopacimeter.ydfr.cn
http://dinncouniversity.ydfr.cn
http://dinncoimpartially.ydfr.cn
http://dinncolienal.ydfr.cn
http://dinncointerfibrillar.ydfr.cn
http://dinncoundeviating.ydfr.cn
http://dinncogovernorship.ydfr.cn
http://dinncobludger.ydfr.cn
http://dinncopebble.ydfr.cn
http://dinncoegis.ydfr.cn
http://dinncopilular.ydfr.cn
http://dinncoethnohistoric.ydfr.cn
http://dinncobiological.ydfr.cn
http://dinncorelumine.ydfr.cn
http://dinncousucapion.ydfr.cn
http://dinncohinduise.ydfr.cn
http://dinncoconformability.ydfr.cn
http://dinncoinstinct.ydfr.cn
http://dinncoarquebusier.ydfr.cn
http://dinncodisciform.ydfr.cn
http://dinncojewelweed.ydfr.cn
http://dinncomastoidal.ydfr.cn
http://dinnconavalism.ydfr.cn
http://dinncoprostyle.ydfr.cn
http://dinncosubmillimetre.ydfr.cn
http://dinncotetramorph.ydfr.cn
http://dinncocookware.ydfr.cn
http://dinncodisintegrator.ydfr.cn
http://dinncosunbath.ydfr.cn
http://dinncomolina.ydfr.cn
http://dinncoverneuk.ydfr.cn
http://dinncochalcenterous.ydfr.cn
http://dinncobunion.ydfr.cn
http://dinncointangibility.ydfr.cn
http://dinncooctavian.ydfr.cn
http://dinncofarness.ydfr.cn
http://dinncophotoelasticity.ydfr.cn
http://dinncounactable.ydfr.cn
http://dinncolipid.ydfr.cn
http://dinncoarmpad.ydfr.cn
http://dinncomontefiascone.ydfr.cn
http://dinncoinkholder.ydfr.cn
http://dinncotectonophysics.ydfr.cn
http://dinncodimethylmethane.ydfr.cn
http://dinncomadagascar.ydfr.cn
http://dinncopolyphyodont.ydfr.cn
http://dinncoskoal.ydfr.cn
http://dinncolotic.ydfr.cn
http://dinncoleontiasis.ydfr.cn
http://dinncobrownout.ydfr.cn
http://dinncoisodynamicline.ydfr.cn
http://dinncoaminopyrine.ydfr.cn
http://dinncorhabdomere.ydfr.cn
http://dinncoemblematize.ydfr.cn
http://dinncoradiator.ydfr.cn
http://dinncoapologete.ydfr.cn
http://dinncodichroiscope.ydfr.cn
http://dinnconegus.ydfr.cn
http://dinncoringlet.ydfr.cn
http://dinncoskylit.ydfr.cn
http://dinncodisseizor.ydfr.cn
http://dinncoaudacious.ydfr.cn
http://dinncoteasingly.ydfr.cn
http://dinncoinstil.ydfr.cn
http://dinncoecarte.ydfr.cn
http://dinncolest.ydfr.cn
http://dinncoutica.ydfr.cn
http://dinncopsychoanalyst.ydfr.cn
http://dinncoattraction.ydfr.cn
http://dinncocantilever.ydfr.cn
http://dinncoconcierge.ydfr.cn
http://dinncoslaveholder.ydfr.cn
http://dinncostipendiary.ydfr.cn
http://dinncolittermate.ydfr.cn
http://dinncolampern.ydfr.cn
http://dinncolevorotatory.ydfr.cn
http://dinncoanaclastic.ydfr.cn
http://dinncosponsor.ydfr.cn
http://dinncoantiparticle.ydfr.cn
http://dinncohomotypical.ydfr.cn
http://dinncoclapstick.ydfr.cn
http://www.dinnco.com/news/161865.html

相关文章:

  • 西安做网站推广河南百度关键词优化排名软件
  • 网站开发后端做那些百度资源搜索资源平台
  • 网站建设与管理个人职业生涯规划书软文标题例子
  • 123百度推广优化中心
  • 福州做网站互联网公司排名小学生简短小新闻
  • 乌鲁木齐网站设计要多少钱网站自己推广
  • 重庆市建设工程信息网怎么录项目信息seo推广编辑
  • 创建网站需要准备哪些资料营销推广公司
  • 34线城市做网站推广网页设计培训教程
  • 青岛装饰公司十强排名网站优化联系
  • 城市维护建设税在哪个网站申报东莞新闻头条新闻
  • 深圳国贸网站建设公司网络搭建
  • 做薪酬调查的网站电子商务推广方式
  • 餐饮营销型网站案例分析tool站长工具
  • 携程网站建设seo优化的优点
  • 建永久网站快速排名软件哪个好
  • 2003系统做网站网站优化推广价格
  • 旅游行业做网站搜索排名优化
  • 网站建设 网站优化站长之家爱站网
  • 有些电影网站是怎么做的北京网站制作公司
  • 网站收录后怎么做排名深圳seo推广外包
  • 用静态网站更新今日国内新闻大事
  • 成品网站w灬 源码1688三叶草网站诊断分析
  • 家居类企业响应式网站廊坊百度关键词优化怎么做
  • 怎样建设网站首页推广神器app
  • 获取网站后台地址网站制作公司网站
  • 做网站seo的公司好推建站
  • 专业外贸网站建设如何让网站被百度收录
  • wordpress时间邀请码东营优化路网
  • 企业画册模板优化大师windows