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

网页界面设计作品网络网站推广优化

网页界面设计作品,网络网站推广优化,苏州相城区做网站公司,mysql做镜像网站缓存过期时间很重要!redis是单线程的 对于内存过多的3中方案: 惰性删除: 在定时删除的基础上,对于已经过期了的数据,redis的随机选择算法一直没有选中这个数据,所以导致它就一直没被删除,但是…

缓存过期时间很重要!redis是单线程的

对于内存过多的3中方案:

惰性删除:

在定时删除的基础上,对于已经过期了的数据,redis的随机选择算法一直没有选中这个数据,所以导致它就一直没被删除,但是查询操作一旦查到它,就把它给删了,这就是惰性删除

定时删除:

创建一个定时器,到点删除,这种方式对cpu不好,得让cpu维护定时器

定期删除:

每隔一段时间,对数据进行一次检查,删除过期的key。至于检查多少删除多少由算法决定。

内存淘汰策略:8种策略

 缓存穿透:要查的redis没有,就到mysql查,第二次依旧如此,这就是缓存穿透

缓存雪崩:热点数据因过期被删除,导致大量请求涌mysql

一大堆数据同时过了有效期,然后又有很多对这些数据的需求:

解决方案:普通数据过期时间随机,热点数据永不过期

redis突然挂掉,导致重启后内存数据都没了


持久化:为了在突然断电后,重启能恢复到之前的状态

RDB(默认开启):一次遍历全部数据然后备份到本地dump.rdb(快照方式)

手动触发:阻塞当前redis,直到rdb完成。save 命令

自动触发:save 60 1000 命令  60秒内,如果超过1千个key被修改则写入到dump.rdb文件中(fork子进程)。

AOF(默认关闭): 把写命令记录下来,像mysql一样,写入到.aof文件中(文件追加方式)

先把记录放到临时缓冲区域:aof_buf

但是慢慢的.aof文件会变得很庞大,所以有了.aof压缩,在.aof压缩的过程中,新建了一个aof_rewrite_bur区,把操作写到这个缓冲取,等压缩完毕再把aof_rewrite_bur写入新的.aof文件中,.aof一旦压缩完毕,立马用新的.aof替换旧.aof

AOF3中策略:

always:收到命令就写,效率最慢,但是持久化最彻底

everysec:每秒钟写一次

no:依赖系统,默认是30秒写一次

reids4.0推出了RDB-AOF混合方式,而且默认启用


主从复制 高可用:

默认redis是一个服务器运行的,多个redis服务器的情况:

一个当主节点,负责写入和同步,主节点执行完命令后会通知到其他子字节(命令传播),为了主节点和子节点的数据同步。

当一个子节点挂了,主节点有游标(复制偏移量),每次发缓存给子节点,游标就会标记一下,所以子节点挂了主节点就知道从哪一步开始发缓存了。当主节点挂掉,子节点中的其中一个会变成主节点,这件事由哨兵redis服务器做,哨兵不用存取数据,专门管理主节点挂掉的情况(其实哨兵也不止一个,因为会有哨兵挂掉的情况),哨兵每隔10秒跟主节点确认还有那些子节点,还有每隔1秒的跟所有节点的心跳机制,但是由会出现,1个哨兵觉得一个节点挂了,剩下2个哨兵觉得这个节点没挂,那它就没挂。子节点变成主节点由硬件性能进行排序,或者子节点中跟主节点断开时间最短的子节点变成新的主节点,或者参考数据偏移量最大的。

集群没写

参考B站视频:【趣话Redis第一弹】我是Redis,MySQL大哥被我坑惨了!_哔哩哔哩_bilibili


redis-cli.exe 客户端 输命令的

redis-server 服务的 默认是开启运行的


5种类型:Sting、Hash、List、set、zset(sorted set)

String:

存:set name tom                取:get name

删:del name

值加一:incr age 不需要初始化                值减一:decr age

keys * 拿到所有的key

exists name name是否存在

expire name 10 设置过期时间10秒                persist name 取消过期时间


Hash:存实体类

hset user name tom

hset user age 18

hget user name

hget user age

hdel user name

hexists user name name是否存在

hincrby user age 10 加10,只有加没有减

hkeys user 拿user里的所有key

hvals user 拿user里的所有value

hgetall user key和value都拿


List:队列

rpush names tom 从右边添加

lpush

lrange names 5 10 从左边拿,5开始,10结束,下标从0开始

lrange names 0 -1 拿全部

lpop names 弹出最左边的key=name的value 弹出去就没了

rpop names

llen names 列表长度

insert names before tom jack 在tom前面插入一个jack

insert names after

lset names 0 tom tom的下标变成0,它成为了第一位

lrem names 1 tom 删除1个tom

lindex names 0 通过下标获取value


Set:不可重复!乱序

sadd names tom jack

smembers names 遍历所有value

srem names tom 删除tom

spop names 2 从names里随机弹出2个(3.0.5不支持)

sdiff name1s name2s 差集 name1s有且name2s没有的

sinter name1s name2s 交集

sunion name1s name2s 并集


Sorted set(Zset):

zadd nams 100 tom

zrange names 0 -1 withscores 升序查询 withscores 并且显示score

zrevrange 降序

zrank names tom 返回升序的tom下标

zrevrank 降序

zcard names 返回names的集合的个数

zincrby names tom 100 给tom加100分

zrangebyscore names 100 200 按[100,200)分数的范围正序返回value

zrevrangebycore 降序

zrem nams tom 删除names里面的tom


可读性前缀:

set user:1 tom

set user:2 jack

keys user:*  查所有的key

rename user:1 user:2 重命名


事务:

redis的命令是原子性的,所以批量执行指令时,中间某条指令错误并不会导致前面的指令回滚,后面的指令也不会停

multi 事务开始

exec 事务结束

当在做事务的时候,别的客户端发来了请求,需要等到时候后才会执行


在SpringBoot项目中使用jedis:

导包:

<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId>
</dependency>

http://www.hrbkazy.com/news/3073.html

相关文章:

  • 装饰装修网站建设方案百度权重4网站值多少钱
  • 做影视网站难吗黑帽seo优化
  • 企业网站开发目的和意义代写文章兼职
  • 临沂医院网站建设百度推广登陆首页
  • 499可以做网站百度上的广告多少钱一个月
  • 什么网站专做宠物物品网络营销方案总结
  • 域名注册后怎么建设网站引流推广方案
  • 网站建设最便宜建设官网的网站首页
  • 阿里云wordpress建站教程渠道推广有哪些方式
  • 北京网站域名快速备案更厉害的病毒2024
  • 企业做网站的用途拉新任务接单放单平台
  • 建站公司 网站北京搜索引擎优化
  • 客户管理系统的设计与实现360优化大师
  • 怎么做自己的店铺网站产品的网络推广要点
  • 做爰真实网站国内新闻摘抄2022年
  • 做视频推广有哪几个网站宣传推广图片
  • 嘉兴做网站网站搭建公司哪家好
  • 中法电商网站建设logo网站设计
  • 摄影师签约有哪些网站sem推广
  • 手机网站需要多少钱seo关键词排名优化是什么
  • 南京网站建设公司 雷网店代运营需要多少钱
  • 寻找杭州做网站软件人如何搭建一个网站
  • 西安网站优化维护关键词排名优化公司地址
  • 江苏 网站建设附近电脑培训速成班一个月
  • 内容类网站如何 流量精准防恶意点击软件
  • 建站平台石家庄盘古2023年新冠疫情最新消息
  • 学做转手绘的网站网站关键词优化的价格
  • flash做的网站百度识图搜索引擎
  • 合肥网站建设平台惠州seo代理商
  • 六盘水市住房和城乡建设局网站网站策划书的撰写流程