
Redis概述和基础
发布日期:2021-05-24 16:05:04
浏览次数:9
分类:精选文章
本文共 1797 字,大约阅读时间需要 5 分钟。
Redis入门与实践
NoSQL概念探索
NoSQL特点
- 无固定的模式:数据存储不依赖于预定义的模式,灵活性更高。
- 高性能处理大数据:支持高并发和大规模数据存储。
- 多样化数据类型:支持字符串、哈希、列表、集合、有序集合等多种类型。
- 可扩展性:容易根据业务需求扩展数据库水平。
- 分布式特性:支持主从复制、集群部署。
Redis与传统RDBMS对比
- 传统RDBMS:
- 数据结构化
- 使用SQL
- 严格的事务和一致性
- 关系型数据模型
- NoSQL:
- 没有固定的查询语言
- 适合非关系型数据
- 提供高性能、高可用性和可扩展性
NoSQL分类
键值存储(Redis):
- iygoUnlike传统数据库,键值对无需预设模式。
- 适用于高速缓存、会话存储等场景。
文档存储(MongoDB):
- 数据库以文档形式存储,支持动态查询。
- 适合处理非结构化数据,如社交网络信息。
列存储(HBase):
- 基于Google Bigtable设计,以列为中心。
- 适用于高访问率的实时数据处理。
图关系存储(Neo4j):
- 节点和边构成图结构,用于网络分析和推荐系统。
Redis基础知识
Redis数据结构
- 字符串 (String):支持动态字符串操作,常用于计数器和缓存。
- 哈希 (Hash):存储字段值对,适合用户信息存储。
- 列表 (List):支持栈、队列操作,用于有序数据处理。
- 集合 (Set):存储唯一值,不允许重复,适用于社交关系存储。
- 有序集合 (ZSet):结合有序的特性,支持按顺序查询。
- 地理位置 (Geospatial):支持经纬度存储和距离查询。
- HyperLogLog:用于基数统计,优化PFADD命令。
- 位图 (Bitmap):用于状态存储,如用户活跃度、登录记录等。
Redis持久化
- RDB:将数据结构快照文件记录到磁盘。
- AOF:能量节省模式,基于Redis命令记录。
- R wanderedbAOF+: 提高写性能,但文件体积较大。
Redis性能优化
- 单线程架构:所有操作都在单线程中完成,性能由内存和 CPU 限制。
- 高效操作:Redis采用C语言实现,减少上下文切换。
- 高性能命令:像LUA脚本、管道和多次查询提升效率。
Redis核心应用场景
- 高速缓存。
- 实时计数:如点击量统计、点赞数。
- 消息中间件:Redis Pub/Sub 适用于微服务架构的消息队列。
- 地图信息服务。
- 用户行为分析。
事务与锁
Redis事务
- 本质涉及多个命令进行原子性操作。
- 乐观锁:基于版本控制,减少并发问题。
- 监视(Watch): 获取数据版本,防止并发修改冲突。
分布式锁
- Redisis:基于彼此的leshooting机制。
- 基于HA modifiersLE:可靠的分布式锁实现,减少死锁风险。
Jedis与Spring Boot
Jedis简介
- Redis官方Java客户端,广泛用于Spring Boot应用中。
- 提供与Redis交互的方便接口,支持事务、高级序列化等功能。
Spring Boot整合
- 依赖项: spring-boot-starter-data-redis。
- 配置示例:
spring.redis.host=127.0.0.1spring.redis.port=6379
- ** RedisTemplate 操作**:
@Autowiredprivate RedisTemplate
redisTemplate;@Testvoid contextLoads() { redisTemplate.opsForValue().set("counter", "1"); System.out.println(redisTemplate.opsForValue().get("counter"));}
Redis优化与发展
- 持久化选择:根据需求选择RDB或AOF。
- 高负载性能:通过克隆(Nearby nodes)优化读写性能。
- 集群部署:使用 Redis Sentinel 或 Redis Cluster 汇集。
- LUA脚本: 提升批量操作效率,适合复杂逻辑场景。
通过合理运用Redis的特性和优化方案,开发者可以显著提升应用性能并应对各种业务挑战。在实际项目中,根据具体需求选择合适的数据类型和工作流程,确保 Redis系统的高效稳定运行。
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月14日 04时34分58秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MVVM_Template
2019-03-14
网络+图片加载框架(英文版)
2019-03-14
Python imageio方法示例
2019-03-14
Possible missing firmware
2019-03-14
JAVA BigInteger和BigDecimal类常用方式
2019-03-14
深度学习框架 各种模型下载集合 -- models list
2019-03-14
six.move 的作用
2019-03-14
机器学习全教程
2019-03-14
idea在连接mysql数据库时区错误
2019-03-14
2021-05-14
2019-03-14
Kali-linux:nmap命令
2019-03-14
s3c2440 ads程序移植到keil中(一) 初步完成
2019-03-14
工程经济—建设工程定额
2019-03-14
工程经济—工程量清单编制
2019-03-14
1Z204050、施工质量不合格的处理
2019-03-14
【字节网盘】九款超好看不同页面404源码
2019-03-14
两款404页面自动跳转源码html
2019-03-14
二改广告横幅在线制作源码 美化版
2019-03-14
一款好看新颖的404页面源码
2019-03-14