搜索
首页数据库Redis简单易懂地介绍Redis缓存原理

下面由Redis教程栏目给大家介绍Redis缓存原理,希望对需要的朋友有所帮助!

简单易懂地介绍Redis缓存原理

1. Redis是什么

Redis 是一个高性能的开源的、C语言写的Nosql(非关系型数据库),数据保存在内存中。 Redis 是以key-value形式存储,和传统的关系型数据库不一样。不一定遵循传统数据库的些基本要求,比如说,不遵循sql标准,事务,表结构等等,非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。 Java中数据结构:String,数组,list,set map… Redis提供了很多的方法,可以用来存取各种数据结构的数据。

2.特点(优势)

1.数据保存在内存,存取速度快,并发能力强
2.它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、 zset(sorted set --有序集合)和hash(哈希类型)。
3.redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库(如MySQL)起到很好的补充作用。
4.它提供了Java,C/C++,C#,PHP,JavaScript等客户端,使用很方便。
5.Redis支持集群(主从同步、负载均衡)。数据可以主服务器向任意数量从的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。
6.支持持久化,可以将数据保存在硬盘的文件中
7.支持订阅/发布(subscribe/publish)功能 QQ群
1、数据存放:存放到内存中,还能不定期持久化到磁盘。存取速度快,并发能力强,断电后数据不丢失。
2、支持Value类型更多。
3、多种客户端(语言 java php c# js)
4、支持集群来扩展空间 8G+8G+16G
5、开源(免费还有很多人维护)

3. 安装Redis服务端

Redis 的官方下载站是 http://redis.io/download,可以去上面下载最新的安装程序下来
3.1. windows下的安装和使用
1.下载redis程序软件
使用redisbin32 或redisbin64
2.绿色软件,不需要安装,直接使用
在这里插入图片描述
3.启动redis服务(带配置文件启动,和不带配置文件启动)
在这里插入图片描述
4.连接到redis进行操作
cmd>{%redis%}/redis-cli -h ip地址 -p 端口号
ip 默认为本地 -p 默认6379
redis-cli -h 172.16.6.248 -p 6379
cmd>{%redis%}/redis-cli

  1. 基本用法
    在这里插入图片描述

2. Redis持久化配置

在这里插入图片描述

Redis 提供了两种不同级别的持久化方式:RDB和AOF,可以通过修改redis.conf来进行配置.
在这里插入图片描述
当满足持久化条件时,会进行持久化保存,还来不及保存的数据,会以aof日志的方式保存下来。
Redis启动时,先解析日志文件(一堆命令),恢复数据。然后还要加载rdb文件(取并集)。

4.RDB模式

RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照,默认开启该模式.
如何关闭 rdb 模式:
save “”
save 900 1 //至少在900秒的时间段内至少有一次改变存储同步一次
save xxx save 60 10000

5.AOF日志追加模式

AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集,默认关闭该模式。
如何开启aof模式:
appendonly yes //yes 开启,no 关闭
#appendfsync always //每次有新命令时执行一次fsync,就将缓冲区的数据放入aof文件
#这里我们启用 everysec
appendfsync everysec //每秒 fsync 一次
#appendfsync no //从不fsync(交给操作系统来处理,可能很久才执行一次fsync)
其它的参数请大家看redis.conf配置文件详解

6.Redis经典实用场景-缓存

  1. 6.1为什么要使用缓存

    把经常查询的数据,很少修改的数据存放到缓存中,减少访问数据库,降低数据库压力并且缓存一般都是内存,访问速度比较快。

  2. 6.2哪些数据适合放到缓存中

    经常查询:缓存就是提供数据查询高效访问。
    很少修改:修改时要同步修改缓存和数据库
    例如:地区数据、商品分类、数据字典 菜单(不考虑权限)

  3. 6.3选择合适的缓存

    Hibernate二级缓存,mybatis二级缓存,redis中央缓存
    Hibernate二级缓存,mybatis二级缓存默认不支持集群缓存,要使用redis

  4. 6.4怎么存储数据

    1) json:把要存放的数据转换为json类型的字符串
    保存缓存时:
    Java Object----------->json字符串
    获取缓存:
    json字符串-------->Java Object-
    Json框架:jdk-json-lib jackson gson fastjson
    在这里插入图片描述2)二进制存放:把要存放的数据序列化为二进制序列化框架实现

7. 实现菜单缓存

在这里插入图片描述

以上是简单易懂地介绍Redis缓存原理的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:csdn。如有侵权,请联系admin@php.cn删除
REDIS:提高应用程序性能和可扩展性REDIS:提高应用程序性能和可扩展性Apr 17, 2025 am 12:16 AM

Redis通过缓存数据、实现分布式锁和数据持久化来提升应用性能和可扩展性。1)缓存数据:使用Redis缓存频繁访问的数据,提高数据访问速度。2)分布式锁:利用Redis实现分布式锁,确保在分布式环境中操作的安全性。3)数据持久化:通过RDB和AOF机制保证数据安全性,防止数据丢失。

REDIS:探索其数据模型和结构REDIS:探索其数据模型和结构Apr 16, 2025 am 12:09 AM

Redis的数据模型和结构包括五种主要类型:1.字符串(String):用于存储文本或二进制数据,支持原子操作。2.列表(List):有序元素集合,适合队列和堆栈。3.集合(Set):无序唯一元素集合,支持集合运算。4.有序集合(SortedSet):带分数的唯一元素集合,适用于排行榜。5.哈希表(Hash):键值对集合,适合存储对象。

REDIS:对其数据库方法进行分类REDIS:对其数据库方法进行分类Apr 15, 2025 am 12:06 AM

Redis的数据库方法包括内存数据库和键值存储。1)Redis将数据存储在内存中,读写速度快。2)它使用键值对存储数据,支持复杂数据结构,如列表、集合、哈希表和有序集合,适用于缓存和NoSQL数据库。

为什么要使用redis?利益和优势为什么要使用redis?利益和优势Apr 14, 2025 am 12:07 AM

Redis是一个强大的数据库解决方案,因为它提供了极速性能、丰富的数据结构、高可用性和扩展性、持久化能力以及广泛的生态系统支持。1)极速性能:Redis的数据存储在内存中,读写速度极快,适合高并发和低延迟应用。2)丰富的数据结构:支持多种数据类型,如列表、集合等,适用于多种场景。3)高可用性和扩展性:支持主从复制和集群模式,实现高可用性和水平扩展。4)持久化和数据安全:通过RDB和AOF两种方式实现数据持久化,确保数据的完整性和可靠性。5)广泛的生态系统和社区支持:拥有庞大的生态系统和活跃社区,

了解NOSQL:Redis的关键特征了解NOSQL:Redis的关键特征Apr 13, 2025 am 12:17 AM

Redis的关键特性包括速度、灵活性和丰富的数据结构支持。1)速度:Redis作为内存数据库,读写操作几乎瞬时,适用于缓存和会话管理。2)灵活性:支持多种数据结构,如字符串、列表、集合等,适用于复杂数据处理。3)数据结构支持:提供字符串、列表、集合、哈希表等,适合不同业务需求。

REDIS:确定其主要功能REDIS:确定其主要功能Apr 12, 2025 am 12:01 AM

Redis的核心功能是高性能的内存数据存储和处理系统。1)高速数据访问:Redis将数据存储在内存中,提供微秒级别的读写速度。2)丰富的数据结构:支持字符串、列表、集合等,适应多种应用场景。3)持久化:通过RDB和AOF方式将数据持久化到磁盘。4)发布订阅:可用于消息队列或实时通信系统。

REDIS:流行数据结构指南REDIS:流行数据结构指南Apr 11, 2025 am 12:04 AM

Redis支持多种数据结构,具体包括:1.字符串(String),适合存储单一值数据;2.列表(List),适用于队列和栈;3.集合(Set),用于存储不重复数据;4.有序集合(SortedSet),适用于排行榜和优先级队列;5.哈希表(Hash),适合存储对象或结构化数据。

redis计数器怎么实现redis计数器怎么实现Apr 10, 2025 pm 10:21 PM

Redis计数器是一种使用Redis键值对存储来实现计数操作的机制,包含以下步骤:创建计数器键、增加计数、减少计数、重置计数和获取计数。Redis计数器的优势包括速度快、高并发、持久性和简单易用。它可用于用户访问计数、实时指标跟踪、游戏分数和排名以及订单处理计数等场景。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器