【简约入门】从Redis开始理解缓存

847 阅读3分钟

介绍

内容缓存

当CPU处理数据时,它会先到Cache中去寻找,如果数据因之前的操作已经读取而被暂存其中,就不需要再从随机存取存储器(Main memory)中读取数据——由于CPU的运行速度一般比主内存的读取速度快,主存储器周期(访问主存储器所需要的时间)为数个时钟周期。因此若要访问主内存的话,就必须等待数个CPU周期从而造成浪费。

提供“缓存”的目的是为了让数据访问的速度适应CPU的处理速度,其基于的原理是内存中“程序执行与数据访问的局域性行为”,即一定程序执行时间和空间内,被访问的代码集中于一部分。为了充分发挥缓存的作用,不仅依靠“暂存刚刚访问过的数据”,还要使用硬件实现的指令预测与数据预取技术——尽可能把将要使用的数据预先从内存中取到缓存里。

Redis概念

Redis是一个远程内存数据库(非关系型数据库),性能强劲,具有复制特性以及解决问题而生的独一无二的数据模型。它可以存储键值对与5种不同类型的值之间的映射,可以将存储在内存的键值对数据持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片来扩展写性能。 Redis是使用c语言开发的一个高性能键值数据库。Redis可以通过一些键值类型来存储数据。 键值类型: String字符类型 map散列类型 list列表类型 set集合类型 sortedset有序集合类型。

应用场景

  • 缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
  • 分布式集群架构中的session分离。
  • 聊天室的在线好友列表。
  • 任务队列。(秒杀、抢购、12306等等)
  • 应用排行榜。
  • 网站访问统计。
  • 数据过期处理(可以精确到毫秒)

安装

cd redis-3.0.0
make
  • 安装 对源码包进行编译安装,这里Redis安装路径为 /usr/local/redis

make install PREFIX = /usr/local/redis

启动&测试

  • 启动redis redis-server /usr/local/redis.conf
  • 查看redis是否启动 ps -ef | grep redis
  • 进入客户端 redis-cli
  • 设置一个key set test 123
  • 获取key的值 get test
  • 退出 exit

总结

关于redis缓存的简单操作就到这里了,从这面可以理解缓存是作为服务高并发的一个保障。通过命令简单安装一个单机的redis,执行命令设置key、value来测试安装成功,后面会继续写redis与微服务关系,和在实际应用的实践。