MySQL与Redis实现二级缓存

redis简介

  • Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库

  • Redis 与其他 key – value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用

  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储

  • Redis支持数据的备份,即master-slave模式的数据备份

优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s

  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作

  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来

下载与安装

  • 下载并解压缩

wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar xzf redis-5.0.3.tar.gz
  • 将文件夹移动到/usr/local/中

mv redis-5.0.3 /usr/local/
  • 进入到文件夹中并编译测试

cd /usr/local/redis-5.0.3
sudo make test
  • 编译安装

sudo make install
  • 启动redis

redis-server

若出现以下画面则表示redis数据库已经启动了:

jpg

mysql与redis做二级缓存

  • 对于访问量比较大的数据我们为了能够更快的获取到数据需要对数据库中获取的数据进行数据缓存。

  • 在项目当中使用Redis缓存流程

  1. 查询时先从缓存当中查询

  2. 缓存当中如果没有数据再从数据库查询,并将数据保存进缓存当中

  3. 如果缓存中查询到了数据直接返回,不再需要查询数据库

数据缓存应该考虑同步问题:如果对数据进行了缓存,当查询数据时,如果缓存中有数据则直接返回缓存数据不会查询数据库,当数据库数据改变的时候就有可能出现数据库不一致的问题。可以考虑在每次修改数据库的时候同时将对应的缓存数据删除,这样重新查询的时候就会查询数据库并缓存

步骤实现

  • 创建redisPool.go文件用于连接池的初始化

MySQL与Redis实现二级缓存

  • 创建main.go文件实现二级缓存

MySQL与Redis实现二级缓存

MySQL与Redis实现二级缓存

MySQL与Redis实现二级缓存

来源:悦码,本文观点不代表自营销立场,网址:https://www.zyxiao.com/p/95567

发表评论

电子邮件地址不会被公开。 必填项已用*标注

技术服务
技术服务
关注抖音
关注抖音
进群学习 侵权联系
返回顶部