redis 淘汰机制有哪些

Redis内存不足的缓存淘汰策略提供了8种。
noeviction:当内存使用超过配置的时候会返回错误,不会驱逐任何键
allkeys-lru:加入键的时候,如果过限,首先通过LRU算法驱逐最久没有使用的键
volatile-lru:加入键的时候如果过限,首先从设置了过期时间的键集合中驱逐最久没有使用的键
allkeys-random:加入键的时候如果过限,从所有key随机删除
volatile-random:加入键的时候如果过限,从过期键的集合中随机驱逐
volatile-ttl:从配置了过期时间的键中驱逐马上就要过期的键
volatile-lfu:从所有配置了过期时间的键中驱逐使用频率最少的键
allkeys-lfu:从所有键中驱逐使用频率最少的键
这八种大体上可以分为4中,lru、lfu、random、ttl。
lru:Least Recently Used),最近最少使用
lfu:Least Frequently Used,最不经常使用法
ttl:Time To Live,生存时间
random:随机
默认是noeviction。对于写请求不再提供服务,直接返回错误(DEL请求和部分特殊请求除外
eviction:“逐出;赶出;收回”。
volatile:“不稳定的”。

redis淘汰机制算法是什么

 redis有两种过期策略,定期删除和惰性删除

  • 定期删除:redis每个100ms随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除。

    • 惰性删除:在获取某个key的时候,redis检查一下,如果该key设置了过期时间则判断该过期时间是否已经过期,如果过期了就直接删掉并不返回任何东西。

select * 和 select 字段在性能上没有什么差别

2、网络IO问题
select * 会查出所有的字段,有些是不需要的,当应用程序和服务器不在同一个局域网时,字段过多会影响网络传输的性能

3、索引问题

select col1 from table;
select * from table;

在col1字段有索引的情况下,mysql是可以不用读data,直接使用index里面的值就返回结果的。
但是一旦用了select *,就会有其他列需要读取,这时在读完index以后还需要去读data才会返回结果。这样就造成了额外的性能开销

mysql 主键索引和普通索引的区别

1、普通索引是最基本的索引类型,没有任何限制,值可以为空,仅加速查询。普通索引是可以重复的,一个表中可以有多个普通索引。

2、主键索引是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值;索引列的所有值都只能出现一次,即必须唯一。简单来说:主键索引是加速查询 + 列值唯一(不可以有null)+ 表中只有一个

mysql 主从同步延迟如何解决

2. MySQL数据库主从同步延迟是怎么产生的。

答:当主库的TPS并发较高时,产生的DDL数量超过slave一个sql线程所能承受的范围,那么延时就产生了,当然还有就是可能与slave的大型query语句产生了锁等待。

3. MySQL数据库主从同步延迟解决方案

答:最简单的减少slave同步延时的方案就是在架构上做优化,尽量让主库的DDL快速执行。还有就是主库是写,对数据安全性较高,比如 sync_binlog=1,innodb_flush_log_at_trx_commit = 1 之类的设置,而slave则不需要这么高的数据安全,完全可以讲sync_binlog设置为0或者关闭binlog,innodb_flushlog也 可以设置为0来提高sql的执行效率。另外就是使用比主库更好的硬件设备作为slave

golang协程是无序的如何实现有序

php array与golang的切片 数组的差别

php如何实现类型自动转换的

php的垃圾回收机制

php如何做到订单分布式一致性 订单生成需要请求商品服务 ,红包服务,优惠券服务,三种服务同时成功才能生成订单如何实现

2021php高级工程师面试题集相关推荐

  1. java高级工程师开放面试题集二

    临近年关,不少人蠢蠢欲动,有童鞋问我java后端面试会面试什么? 作为一个java后端老鸟,跌打滚爬多次被面试和面试别人,总结了一些经验,希望对大家有所帮助. 特别说明,仅仅针对工作两年以上的java ...

  2. java高级工程师认证考试_java高级工程师开放面试题集

    java高级工程师开放面试题集 发布时间:2019-01-03 11:38, 浏览次数:1108 , 标签: java 临近年关,不少人蠢蠢欲动,有童鞋问我java后端面试会面试什么? 作为一个jav ...

  3. access汇总含义_2020最新大厂内部 PHP 高级工程师面试题汇总(二)

    51.数据库中的存放了用户 ID, 扣费很多行,redis 中存放的是用户的钱包,现在要写一个脚本,将数据库中的扣费记录同步到 redis 中,每 5 分钟执行一次.请问要考虑哪些问题? 思路:生产者 ...

  4. 2019阿里天猫团队Java高级工程师面试题之三轮面试

    转载自  2019阿里天猫团队Java高级工程师面试题之三轮面试 作者:编程砖家 https://www.cnblogs.com/xiaoyangjia/p/10697324.html 一.第一面 1 ...

  5. Java程序猿面试题集(181- 199)

    Java面试题集(181-199) 摘要:这部分是包括了Java高级玩法的一些专题,对面试者和新入职的Java程序猿相信都会有帮助的. 181.  182. 183. 184. 185. 186. 1 ...

  6. list 去重_测试面试题集Python列表去重

    ------·今天距2020年21天·------ 这是ITester软件测试小栈第86次推文 请定义函数,将列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, ...

  7. 移动开发工程师面试题集:Android iOS

    2019独角兽企业重金招聘Python工程师标准>>> 移动开发工程师面试题集:Android & iOS 移动开发也称为手机开发,或叫做移动互联网开发,移动市场暗流涌动,春 ...

  8. 程序员硬核宝典(面试题集、在线免费工具箱)

    今天给大家分享一些程序员面试题集以及一个在线免费工具箱,废话休说,直奔主题: 一.程序员硬核知识 1.大厂面试指北 http://notfound9.github.io/interviewGuide/ ...

  9. 重庆大学计算机组成,重庆大学计算机组成原理试题集(含部分答案)

    <重庆大学计算机组成原理试题集(含部分答案)>由会员分享,可在线阅读,更多相关<重庆大学计算机组成原理试题集(含部分答案)(15页珍藏版)>请在人人文库网上搜索. 1.计算机组 ...

最新文章

  1. stm32f103zet6linux,stm32f103zet6定时器详解及应用
  2. td里面的内容加了br不起作用_刀圈TD黑暗游侠,最容易打金之一!!
  3. 百度金融资深产品经理降峰:互金产品如何准确触达用户
  4. Start here: portal to the lectures
  5. Android之IPC通信中的UID和PID识别
  6. 如何在 Web 发布规则中使用证书进行 SSL 身份验证
  7. 手把手教你用Jieba做中文分词
  8. HTML如何实现斜体字
  9. oracle imp导入库到指定表空间
  10. mysql for update死锁_Mysql 数据库死锁过程分析(select for update)
  11. 【Postgresql】pg掉电后无法重启
  12. Jupyter Notebook 添加说明表格Cell
  13. android称重的技术,智能称重系统之智能地磅称解决方案
  14. archivelog模式和flashback db以及guarantee restore point之间的相互制约关系!
  15. 算法导论之排序算法(1)
  16. 用幂法和反幂法分别计算矩阵按模最大和按模最小的特征值及其特征向量
  17. 数学建模竞赛常用软件培训2
  18. 【讲清楚】rebase的使用
  19. (三)Redis——实现主从复制
  20. java神奇蜘蛛侠攻略_神奇蜘蛛侠攻略带领新手快速入门

热门文章

  1. ppt 深度学习绘图_最全中文深度学习入门书:小白易入,课程代码PPT全有 | 复旦邱锡鹏出品...
  2. Qt入门程序,通过qtcreater创建一个项目
  3. CentOS上安装运行XWiKi
  4. java密码复杂度匹配规则
  5. 微信红包生成器App遭腾讯起诉:被判赔偿75万元
  6. 应用安全的创新,Apiiro和WABBI
  7. mysql分库分表取模扩容_MyCat分库分表策略——范围取模
  8. pywinauto中文文档
  9. AURIX TC3xx Safety Mannaul
  10. 低温导电油墨在汽车电子中的应用