博客
关于我
redis只能做缓存?你错了
阅读量:531 次
发布时间:2019-03-09

本文共 1323 字,大约阅读时间需要 4 分钟。

Redis 为什么是 Key-Value 存储而不是支持 SQL 的?

因为 Redis 是基于键值对存储模型,非常适合处理快速读写操作和动态数据。它不像关系型数据库那样支持复杂的 SQL 查询,而是通过简单的 Key 集合和对 associations 名称空间,提供了灵活的数据存取方式。这种设计使 Redis 在运行速度和内存使用上更加高效,非常适合用作实时数据处理系统。

Redis 是单线程模型?

虽然 Redis 提供了多线程支持,但它的核心工作流程是单线程的。这是 Redis 提高并发性能和保证数据安全性的关键。每个 Redis 实例都有一个主线程负责处理所有的 Redis 命令,同时可能需要其他辅助线程来完成后台任务如持久化、网络处理等。但 Redis 的单线程特性是其高性能的主要原因之一,因为它可以避免线程调度带来的额外开销。

Redis 持久化开启了 RDB 和 AOF 后,服务重启时是如何加载的?

当启用 AOF-linked Rewrite the database时,Redis 会写出一份完整的交ate files,这样在重新启动时, Redis 会从 AOF 日志中重新读取并恢复到最新的状态。如果是 RDB持久化,Redis 会将数据写成一份紧凑的序列文件,重启时通过读取 RDB 文件快速恢复。

如果要对 Redis 集群进行设计,AKF 和 CAP 如何实现和设计?

AKF(Askeynte Failure handling)是一个分布式系统中的容错机制,确保在部分节点故障时系统仍然可以继续运行。CAP( violation 分配、放 available、 Partitioning ) 是分布式系统的三个核心原则。针对 Redis 集群,设计时需要采用多节点 Redis(如 Redis 高可用性集群),并结合客户端切 switch策略和服务发现机制来实现 AKF 和 CAP。

为了统计 10 万用户全年的登录情况并快速检索任意时间窗口内的活跃用户,可采用以下方式:

在 Redis 中存储用户的登录时间戳,使用周期性扫描器(如 Redis 内置的iteur sscan)定期清理过期数据,并按时间窗口将数据加载到一个时间序列数据库中。这样可以快速查询任何时间段内的活跃用户数量。

你用过 Redis 的哪些 Value 类型?

在实际项目中,Redis 常用的 Value 类型包括字符串(String)、哈希(Hash)、列表(List)和有序列表(Sorted Set)。例如,字符串用于存储 wandhiuchun 元素,哈希用于存储 name-value 对,列表用来对接多级关系数据。

面对 100 万并发 4G 和 10 万并发 400G 数据,如何设计 Redis 储存方式?

针对大规模数据,建议采用 Redis 多节点集群和 Redis Siege 脑逼测试工具进行设计。对于 100 万并发 4G 数据,可采用 Redis 集群加 Redis321 热门数据淘汰机制。对于 10 万并发 400G 数据,可以通过 Redis 集群和磁区 存储优化 Redis 的性能表现。

转载地址:http://wpriz.baihongyu.com/

你可能感兴趣的文章
WCF WebHttp Services in .NET 4
查看>>
Powershell中禁止执行脚本解决办法
查看>>
HTTP协议状态码详解(HTTP Status Code)
查看>>
OO_Unit2 多线程电梯总结
查看>>
git clone 出现fatal: unable to access ‘https://github 错误解决方法
查看>>
Shader 入门笔记(一) 如何学习shader
查看>>
分布式、高并发、高性能场景(抢购、秒杀、抢票、限时竞答)数据一致性解决方案
查看>>
04_Mysql配置文件(重要参数)
查看>>
python 序列化及其相关模块(json,pickle,shelve,xml)详解
查看>>
python 加密算法及其相关模块的学习(hashlib,RSA,random,string,math)
查看>>
js编写动态时钟
查看>>
JavaSE总结
查看>>
Consul安装使用
查看>>
手动造轮子——基于.NetCore的RPC框架DotNetCoreRpc
查看>>
Python IO编程
查看>>
CSS入门总结
查看>>
使用 TortoiseGit 时,报 Access denied 错误
查看>>
基于 HTML5 WebGL 的污水处理厂泵站自控系统
查看>>
[系列] Go gRPC 调试工具
查看>>
django-表单之模型表单渲染(六)
查看>>