news 2026/4/18 5:19:01

1.Redis概述

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1.Redis概述
1.1 为什么使用NoSql

在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。在那个时候,更多的都是静态网页,动态交互类型的网站不多。但是随着用户数的增长,Tomcat和数据库之间竞争资源,单机性能不足以支撑业务。于是将Tomcat与数据库分开部署,Tomcat和数据库分别独占服务器资源,显著提高两者各自性能。

新的问题:随着用户数的增长,并发读写数据库成为瓶颈。

通过引入本地缓存和分布式缓存,通过缓存能把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力,其中设计的技术包括:使用memcached作为本地缓存,使用Redis作为分布式缓存。

注意:缓存抗住了大部分的访问请求,随着用户数的增长,并发压力主要落在单机的Tomcat上,响应逐渐变慢。

在多台服务器上分别部署Tomcat,使用反向代理软件(Nginx)把请求均匀分发到每个TOmcat中。

新的挑战:反向代理使应用服务器课支持的并发量大大增加,但并发量的增长也意味着更多请求穿透到数据库,单机的数据库最终成为瓶颈。

由于数据库的写入压力增加,Memcached只能缓解数据库的读取压力。读写集中在一个数据库让数据库不堪重负,大部分网站开始使用主从复制技术来达到读写分离,以提高读写性能和读库的可拓展性。Mysql的master-slave模式成为这个时候的网站标配。

1.2 什么是NoSql

NOSQL(Not Only SQL),泛指非关系型的数据库。在互联网web2.0网站的兴起,传统的关系型数据库在应付特别是超大规模和高并发类型网站已经显得力不从心,暴露了很多难以克服的问题。

1.2.1 结构化数据和非结构化数据

结构化数据指的是由二维表结构来逻辑表达和实现的数据,严格遵循数据格式与长度规范,也被成为行数据。

非结构化数据,指的是数据结构不规则或不完整,没有任何预定义的数据模型,不方便用二位逻辑表来表现的数据,例如办公文档、图片、HTML等。

1.3 NoSQL四大分类
1.3.1 KV型(Redis)

KV型NOSQL顾名思义就是以键值对形式存储的非关系型数据库,是最简单,最容易理解也是大家最熟悉的一种NOSQL。它的特点是:数据基于内存,读写效率高;KV型数据,时间复杂度为O(1),查询速度快。

1.3.2 列式(HBase)

列式NoSql,大数据时代最具代表性的技术之一。查询时只有指定的列会被读取,不会读取所有的列;列数据被组织到一起,一次磁盘IO可以将一列数据一次性读取到内存中。

1.3.3 文档型(MongoDB)

文档型NoSql指的是将半结构化数据存储为文档的一种NoSql,文档型Nosql通常以JSON或者XML格式存储数据。

关系型数据库是按部就班的每个字段一列存,在MongoDB里面就是一个JSON字符串存储。

1.4 什么是Redis

Redis是一个使用ANSIC编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库。

特点:

基于内存运行,性能高效;

支持分布式,理论上可以无限拓展;

key-value存储系统;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:14:27

ADB install安装GLM-4.6V-Flash-WEB安卓客户端应用

ADB 安装 GLM-4.6V-Flash-WEB 安卓客户端应用 在移动智能设备日益成为人机交互核心入口的今天,如何将强大的多模态大模型能力“落地”到终端,而不是依赖云端推理,已经成为开发者面临的关键挑战。尤其在隐私敏感、网络受限或需要低延迟响应的场…

作者头像 李华
网站建设 2026/4/18 6:27:46

adb调试工具配合GLM-4.6V-Flash-WEB移动端部署方案

ADB调试工具配合GLM-4.6V-Flash-WEB移动端部署方案 在移动AI应用快速落地的今天,一个普遍存在的难题是:如何让强大的多模态大模型既能在资源受限的边缘设备上稳定运行,又能被高效地远程部署与调试?尤其是在没有图形界面、网络条件…

作者头像 李华
网站建设 2026/4/18 6:30:26

C#调用DLL封装GLM-4.6V-Flash-WEB核心算法提高执行效率

C# 调用 DLL 封装 GLM-4.6V-Flash-WEB 核心算法提升执行效率 在当前企业智能化升级的大趋势下,越来越多的传统系统开始尝试集成视觉大模型能力。然而,一个普遍存在的难题是:AI 模型多基于 Python 开发,而生产环境中的核心业务系统…

作者头像 李华
网站建设 2026/4/18 8:22:07

Git commit原子性原则保证GLM-4.6V-Flash-WEB代码整洁

Git commit原子性原则保证GLM-4.6V-Flash-WEB代码整洁 在当前AI模型快速迭代、多模态应用层出不穷的背景下,一个看似“基础”的工程实践——如何写好一次git commit——反而成了决定项目成败的关键因素之一。尤其是在部署像 GLM-4.6V-Flash-WEB 这类面向高并发Web场…

作者头像 李华
网站建设 2026/4/15 5:42:25

语言实时数据流处理与分析实践:Python、Java、Go、C++高效方案解析

在现代互联网应用中,实时数据流处理是构建监控、推荐系统和分析平台的核心技术。不同语言在数据流处理、并发分析和性能优化方面各有优势。本文将结合 Python、Java、Go 和 C,展示如何实现高效的数据流收集、处理和分析。一、Python:异步数据…

作者头像 李华
网站建设 2026/4/18 9:43:54

微前端架构深度实战:从拆分到落地的全链路指南

在大型前端项目发展过程中,“巨石应用” 的痛点日益凸显 —— 代码体积庞大、构建速度缓慢、技术栈锁定、团队协作冲突、迭代部署困难。微前端架构通过 “将大型应用拆分为多个独立部署的小型应用”,实现 “技术栈异构、独立开发、独立部署、无缝集成”,成为解决大型前端项目…

作者头像 李华