前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JAVA面试锦囊(九)

JAVA面试锦囊(九)

作者头像
用户7386338
发布2020-05-29 11:24:38
2700
发布2020-05-29 11:24:38
举报
文章被收录于专栏:Java患者Java患者

● 说一下使用索引的一些技巧?

(1) 对于创建的多列索引(复合索引),不是使用的第一部分就不会使用索引。

(2) 对于使用like的查询,查询如果是’%xx’不会使用到索引。而’xx%’会使用到索引。

(3) 如果条件中有or,必须所有字段都必须单独使用时能使用索引,从可以走索引。

(4) 如果列类型是字符串,那一定要在条件中间数据使用引号引用起来,否则不会走索引。

(5) 如果mysql估计使用全表扫描要比索引快,则不使用索引(如表中只有一条数据)。

● 介绍下主从同步和读写分离?

一台数据库支持的最大并发连接数是有限的,如果用户并发访问太多,一台服务器满足不了要求就可以集群处理,MySQL的集群处理技术最常用的就是读写分离

主从同步:数据库最终会把数据持久化到磁盘,如果集群必须确保每个数据库服务器的数据是一致的。能改变数据库数据的操作都往主数据库去写,而其他的数据库从主数据库上同步数据。

读写分离:使用负载均衡来实现写的操作都往主数据去,而读的操作都往从的服务器去。

● 有没有使用过redis?

Redis是一个key-value的数据库。先存到内存中,会根据一定的策略持久化到磁盘,即使断电也不会丢失数据,支持的数据类型比较多。主要用了做缓存数据库和web集群中用来做中央缓存存放session

● redis有哪些使用场景?

缓存:把经常需要查询且很少修改的数据,放到读速度较快的空间(内存),以便下次访问 减少时间,减轻压力,减少访问时间。

计数器:redis中的计算器时原子性的内存操作,可以解决库存溢出问题,进销存系统库存溢出。

session缓存服务器:web集群式作为session缓存服务器。

● redis存储对象的方式?

Json字符串:需要把对象转化为json字符串,当作字符串处理,直接使用set、get来设置或者获取。优点是设置和获取比较简单。缺点没有提供专门的方法,需要把对象转换为json,可能存在性能问题。

字节:需要做做序列化,就是把对象序列化为字节保存。如果是存储百万级的大数据对象,建议采用存储序列化对象的方式。

如果是少量的数据级对象,建议使用json转换成String方式。

● 说说redis数据淘汰机制?

在redis中,允许用户设置最大使用内存大小server.maxmemory。在内存限定的情况是很有用的。譬如,在一台8g机子上部署4个redis服务点,每个服务点分配1.5G的内存大小,减少内存紧张的情况,由此获取更为稳健的服务。

Redis内存数据集大小上升到一定的时候,就会施行数据淘汰机制,redis提供6中数据淘汰机制

(1) volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰。

(2) volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选要过期的数据淘汰。

(3) volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰。

(4) allkeys-lru:从数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰。

(5) allkeys-random:从数据集(server.db[i].expires)中任意选择数据淘汰。

(6) no-enviction:禁止驱逐数据。

Redis驱逐某个键值对后,会删除这个数据并,并将这个数据变更消息发布到本地(AOF持久化)和从机(主从连接)。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java患者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档