准备工作
1、修改jdbc.properties的jdbc.url
2、修改Nginx配置信息【修改一下连接到本地,已经了解Nginx在Linux中的使用】启动以管理员身份在Nginx目录下将其启动
管理员身份下运行此命令:Nginx -s reload
缓存介绍
缓存机制:
说明:缓存目的:减少访问物理设备的访问频次,防止意外宕机。缓存中的数据就是数据库中的数据。缓存中的数据保存在内存中,目的:快速实现数据响应。
引入缓存后的问题:
- 缓存中使用什么数据结构存储?==>采用k-v格式存储,通知key禁止重复 定义key的策略:字符串_ID
- 如果缓存服务器单机,则内存中的数据都丢失。==>将内存中的数据定期持久化【不能做到100%】
- 缓存中的数据如何保证与数据库的数据一致【数据一致性】
- 如果数据库数据发生变化,这应该同步缓存中的数据【会有网络延时的问题】==>使用代码维护AOP
- 缓存中的数据如何控制大小?==>1G,策略:将最近最少使用的数据清空(LRU算法)
LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间 t,当须淘汰一个页面时,选择现有页面中其 t 值最大的,即最近最少使用的页面予以淘汰。
内存管理的一种页面置换算法,对于在内存中但有不用的数据块(内存块)叫做LRU,操作系统会根据那些数据数据LRU而将其移除内存而腾出空间来加载另外的数据。
- 如何保证缓存的查询更快?==>Redis是C语言开发的:)
Redis介绍
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如
字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)
与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了
复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU
eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过
Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
Redis的安装
解压
tar -xvf 文件名
Redis安装
编译redis
make【前提:安装了gcc】
安装:
make install
启动:
1、redis-server
2、rides-server &
【表示还有后续操作 回车后生效】 不多用
以上两种启动方式,都由默认配置,不支持远程访问ridis
3、redis-server redis.conf
【根据配置文件的方式启动redis】【最好】
方法1会有byebye……
关闭:
方法一:
ps -ef |grep redis
kill -9 PID
方法二:
redis-cli -p 6379 shutdown
redis-cli shutdown
编辑配置文件
vim redis.conf
1、61行,绑定ip注释掉 取消ip绑定
2、80行,取消保护模式
3、128行,redis后台启动
修改后保存,重新运行,以配置模式启动,可以使用查看进程号的方式查看redis是否启动。
Redis命令
前提:需要通过redis可无端操作命令
redis-cli -p 6379