2016 - 2024

感恩一路有你

redis面试中常被问到的 redis的key如何寻址?

浏览量:2265 时间:2021-03-11 02:05:41 作者:admin

redis的key如何寻址?

1. 如果redis集群未启用,则通过hash算法计算密钥,理论复杂度为O(1)。Redis采用杂音hash2版本,具有良好的规则密钥分散性,确保哈希冲突尽可能小。

2. 如果redis集群已启用,则将执行更多步骤。首先使用key计算密钥存储在集群中的机器,然后使用hash从这台机器定位。

如何才能成为java架构师?我为大家来分析一下?

首先,建筑师不是很好。他必须通过技术力量和建筑师的想法。其次,架构师是Dubbo框架,基本原理是zookeeper、redis分布式缓存、JVM性能优化、nginx Apache企业开发Tomcat集群部署、大数据Hadoop、HBase实时计算spark、storm、数据分析、分词和权重等核心技术。

如何成为一名优秀的建筑师?我用七张照片告诉你。

您可以先学习分布式锁的实现https://pan.baidu.com/s/1y8rkldBEpkHXHS3GvJXGTg密码:umu3

redis的OPS只有100,确实有问题,违反了redis高性能的定义。可以从以下几个方面进行检查:

1。部署redis的服务器资源是否充足,包括CPU和内存。redis的数据存储在re内存中,足够的内存是redis的必要条件。Redis是一个单线程架构,因此很容易运行单核CPU满;

2。客户端和redis服务器的网络带宽是否足够,redis的高性能是指其自身的性能处理速度极快,但如果网络延迟比较大,也会导致OPS降低;

3。无论是否有bigkey,大的key-value对都会占用比较大的内存,在操作过程中会消耗更多的计算资源和网络资源,可以使用redis cli——bigkeys命令发现如果有,需要根据业务情况拆分key-value;

4。无论是否使用了错误的值类型,redis一般包括string(string)、list(linked list)、set(set)、Zset(sorted)set(ordered set)和hash(hash type),需要结合实际业务选择值类型;

5。算法复杂度高的命令,如hgetall、smembers、keys等,是否可以替换为hmget、sscan、scan等;

6。查询redis的慢查询日志,命令为slowlog Get,可以定位具体的慢操作并进行相应的优化;

7。如果redis中启用了持久性功能,RDB和AOF可能会导致性能问题。您可以通过info persistence查看与persistence相关的统计数据是否有异常,如fork是否会太慢,AOF_uu2;delayed_uu2;fsync是否太大等

以上只是个人建议,如果有问题,请补充更正,谢谢!

redis面试中常被问到的 nginx负载均衡策略 sql优化常用的几种方法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。