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

互联网 20-10-9
下面由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选择合适的缓存

  4. 6.4怎么存储数据

    1) json:把要存放的数据转换为json类型的字符串 保存缓存时: Java Object----------->json字符串 获取缓存: json字符串-------->Java Object- Json框架:jdk-json-lib jackson gson fastjson2)二进制存放:把要存放的数据序列化为二进制序列化框架实现

7. 实现菜单缓存

以上就是简单易懂地介绍Redis缓存原理的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: redis
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:关于Redis批量写入的介绍

相关资讯