一、Memcached介绍
RDBMS即关系数据库管理系统(Relational Database Management System)
许多Web应用都将数据保存到 RDBMS中,应用服务器从中读取数据并在浏览器中显示。 但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响。Memcached/redis是高性能的分布式内存缓存服务器,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web等应用的速度、 提高可扩展性。
memcached的作用
缓存服务器作用:加快访问速度,缓解数据库压力
NOSQL名词解释 Not Only Sql:
为弥补关系型数据库的不足,各种各样的NoSQL数据库应运而生。以键值对的方式存储数据
Memcached特点
特点:
内置存储方式:重启操作系统会导致全部数据消失
简单key/value存储: 服务器不关心数据本身的意义及结构,只要是可序列化数据即可。
存储项由“键、过期时间、可选的标志及数据”四个部分组成;
不互相通信的分布式: memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。 各个memcached不会互相通信以共享信息。那么,怎样进行分布式呢? 这完全取决于客户端的实现。
Memcache服务框架
工作原理
1.检查用户请求的数据是缓存中是否有存在,如果有存在的话,只需要直接把请求的数据返回,无需查询数据库。
2.如果请求的数据在缓存中找不到,这时候再去查询数据库。返回请求数据的同时,把数据存储到缓存中一份。
3.保持缓存的“新鲜性”,每当数据发生变化的时候(比如,数据有被修改,或被删除的情况下),要同步的更新缓存信息,确保用户不会在缓存取到旧的数据。
二、实战
- 部署Memcached
yum install memcached -y
- 修改配置文件
vim /etc/sysconfig/memcached
PORT="11211" //同台机编译安装多个memcached,多实例
USER="memcached"
MAXCONN="1024"
CACHESIZE="1500" //单位是 MB
OPTIONS="" //监听的网络地址
- 启动
systemctl start memcached.service
ps aux | grep memca
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
memcach+ 18573 0.0 0.2 326588 2228 ? Ssl 14:15 0:00 /usr/bin/memcached -u memcached -p 11211 -m 1500 -c 1024
- 测试
yum -y install telnet
192.168.238.129 11211
set name 0 900 5 #设置名称为name的key;
# name key的名字,自己定义
# 0 key的id号,需要和其他的key不一样
# 900 缓存过期时间,单位为秒,0为永远
# 5 字符串最大长度
xulei #给name的值
`看见STORED说明存储成功`
get name #查询key为name的值
三、Redis 介绍
简介
redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。
特点
什么是持久化:把内存中的数据库保存到磁盘上。防止数据的丢失。
- 丰富的数据结构
- 支持持久化
- 支持事务 事务是指“一个完整的动作,要么全部执行,要么什么也没有做”。
- 支持主从
四、Redis实战
4.1 安装redis
从redis.io下载最新版redis-X.Y.Z.tar.gz后解压,然后进入redis-X.Y.Z文件夹后直接make即可
wget