memcached

Memcache详细介绍

给你一囗甜甜゛ 提交于 2021-01-08 08:56:43
MemCache是什么? MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。 它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。 MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所使用的key-value存储,数据可以来自数据库调用、API调用,或者页面渲染的结果。MemCache设计理念就是小而强大,它简单的设计促进了快速部署、易于开发并解决面对大规模的数据缓存的许多难题,而所 开放的API 使得MemCache能用于Java、C/C++/C#、Perl、Python、PHP、Ruby等大部分流行的程序语言。 另外,说一下MemCache和MemCached的区别: 1、MemCache是应用的名称; 2、MemCached是MemCache服务器端可执行文件的名称, 后面的那个d是daemon的意思,守护进程; MemCache的官方网站为 http://memcached.org/ MemCache访问模型 为了加深理解,我模仿着原阿里技术专家李智慧老师《大型网站技术架构 核心原理与案例分析》一书MemCache部分,自己画了一张图: 特别澄清一个问题,MemCache虽然被称为“分布式缓存”,但是MemCache本身完全不具备分布式的功能

Memcache应用场景介绍说明

喜你入骨 提交于 2021-01-08 08:10:34
面临的问题 对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题。特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序运行离崩溃的边缘也不远了。很多小网站的开发人员一开始都将注意力放在了产品需求设计上,缺忽视了程序整体性能,可扩 展性等方面的考虑,结果眼看着访问量一天天网上爬,可突然发现有一天网站因为访问量过大而崩溃了,到时候哭都来不及。所以我们一定要未雨绸缪,在数据库还 没罢工前,想方设法给它减负,这也是这篇文章的主要议题。 大家都知道,当有一个request过来后,web服务器交给app服务器,app处理并从db中存取相关数据,但db存取的花费是相当高昂的。特 别是每次都取相同的数据,等于是让数据库每次都在做高耗费的无用功,数据库如果会说话,肯定会发牢骚,你都问了这么多遍了,难道还记不住吗?是啊,如果 app拿到第一次数据并存到内存里,下次读取时直接从内存里读取,而不用麻烦数据库,这样不就给数据库减负了?而且从内存取数据必然要比从数据库媒介取快 很多倍,反而提升了应用程序的性能。 因此,我们可以在web/app层与db层之间加一层cache层,主要目的:1. 减少数据库读取负担;2. 提高数据读取速度。而且,cache存取的媒介是内存,而一台服务器的内存容量一般都是有限制的,不像硬盘容量可以做到TB级别。所以

Redis 命令大全 看这一篇就满足日常工作

家住魔仙堡 提交于 2021-01-07 14:43:31
redis键(key) 常用命令 命令 注释 keys * 获取所有的key select 0(库角标) 选择第几个库 move key 0(库角标) 将当前的数据库key移动到某个数据库,目标库有,则不能移动 flush 0(库角标) 清除指定库 randomkey 获取随机key type key key的类型 set key value 设置key和value get key 获取key的value mset key1 value1 key2 value2 批量设置key、value mget key1 key2 key3 批量获取value del key 删除key exists key 判断是否存在key expire key second(秒) 给key设置过期时间 pexpire key millisecond (毫秒) 给key设置过期时间 persist key 删除过期时间,持久保存key String类型 简介 String是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。 String类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 String类型是Redis最基本的数据类型,一个redis中字符串value最多可以是 512M 存储结构类似:

web集群需要学习哪些知识?linux系统工程师学习

萝らか妹 提交于 2021-01-04 16:33:48
  在充斥着各种的互联网+的数字时代,IT运维方面也越来越趋于Linux系统的应用,掌握 Linux 运维技术已成为IT 技术人员的必经之路,但是,构建在Linux系统上的高性能、高并发企业级网站集群架构上的网站集群架构,又会涉及到哪些具体的内容呢?   1、需要学习与Linux 相关的基础且重要的知识   Linux的历史沿革、Linux的企业级选型、学习环境的搭建、Linux 的企业级系统安装、Linux系统的基础优化,以及远程连接Linux及客户端SSH的设置等,HTTP协议和WWW服务相关知识。为搭建企业级Web 集群环境做准备。   2、学习当下流行的Web 环境架构(LNMP)搭建及企业级Web优化   Linux、Nginx、MySQL、PHP(LNMP)等Web环境架构的搭建、开源blog网站产品的安装部署、Web优化等知识。为搭建企业级完整的网站Web集群架构做准备。   3、学习Web 集群后端的数据存储及Web 集群前端的负载均衡和高可用   Web 集群后端的MySQL 数据库、Web 集群共享存储NFS、Nginx 反向代理负载均衡、Keepalived高可用、Memcached 缓存及session 共享、Nagios 企业级监控等技术实战,规划一个中等规模的网站集群架构解决方案。   如果是一名经验丰富的资深 Linux用户,可以直接从第1步开始学习

cookie,session,token

倾然丶 夕夏残阳落幕 提交于 2021-01-02 18:32:16
发展史 1、很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我不用记住是谁刚刚发了HTTP请求, 每个请求对我来说都是全新的。这段时间很嗨皮 2、但是随着交互式Web应用的兴起,像在线购物网站,需要登录的网站等等,马上就面临一个问题,那就是要管理会话,必须记住哪些人登录系统, 哪些人往自己的购物车中放商品, 也就是说我必须把每个人区分开,这就是一个不小的挑战,因为HTTP请求是无状态的,所以想出的办法就是给大家发一个会话标识(session id), 说白了就是一个随机的字串,每个人收到的都不一样, 每次大家向我发起HTTP请求的时候,把这个字符串给一并捎过来, 这样我就能区分开谁是谁了 3、这样大家很嗨皮了,可是服务器就不嗨皮了,每个人只需要保存自己的session id,而服务器要保存所有人的session id ! 如果访问服务器多了, 就得由成千上万,甚至几十万个。 这对服务器说是一个巨大的开销 , 严重的限制了服务器扩展能力, 比如说我用两个机器组成了一个集群, 小F通过机器A登录了系统, 那session id会保存在机器A上, 假设小F的下一次请求被转发到机器B怎么办? 机器B可没有小F的 session id啊。 有时候会采用一点小伎俩

php-运用memcache的小例子

≡放荡痞女 提交于 2021-01-02 11:11:04
memcache实际上也是一个服务器,不过他是存在内存里面的不是存在磁盘里面的 优点 速度很快 缺点 不能永久存储,存放大小受内存限制没有用户名跟防火墙,mysql有 不过缓存里面也不会存储重要信息什么的,速度快就很ok,不过受内存限制有点伤,毕竟内存条比较贵 memcache如何安装 以window举例, 将.exe文件放在c盘下, ctrl+r 打开运行,cmd进入dos, 找到memcache的根目录下 运行指令memcached.exe -d install 进行安装 卸载就是uninstall 如果安装成功 运行指令memcached -h 查看一下 启动memcache 运行指令memcached.exe -d start 停止就是stop 去任务管理器看一下启动了没有,基本没有啥踩雷的地方。启动好之后,咱们就可以运行memcache了。 memcache的默认端口号是11211, 如果你想更改端口号让别人查不到的话,需要去注册表 regedit 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server 将这个值改为"c:\memcached\memcached.exe" -p 20000 -d runservice 即可,这样的话访问得按照20000的端口访问了

Nextcloud私有云盘在Centos7下的部署笔记

怎甘沉沦 提交于 2021-01-02 05:12:34
搭建个人云存储一般会想到ownCloud,堪称是自建云存储服务的经典。而 Nextcloud 是ownCloud原开发团队打造的号称是“下一代”存储。初一看觉得“口气”不小,刚推出来就重新“定义”了Cloud,真正试用过后就由衷地赞同这个 Nextcloud:它是个人云存储服务的绝佳选择 。可以说Nextcloud 是一款自由 (开源) 的类 Dropbox 软件,由 ownCloud 分支演化形成。它使用 PHP 和 JavaScript 编写,支持多种数据库系统,比如 MySQL/MariaDB、PostgreSQL、Oracle 数据库和 SQLite。它可以使你的桌面系统和云服务器中的文件保持同步,Nextcloud 为 Windows、Linux、Mac、安卓以及苹果手机都提供了客户端支持。同时,Nextcloud 也并非只是 Dropbox 的克隆,它还提供了很多附加特性,如日历、联系人、计划任务以及流媒体 Ampache。 与ownCloud相比,Nextcloud的功能丝毫没有减弱,甚至由于可以安装云存储服务应用,自制性更强,也更符合用户的需求。Nextcloud官网的帮助文档写得相当地详细,几乎任何关于Nextcloud的问题都可以找到答案,这说明Nextcloud开发团队确实比ownCloud更加优秀。 一开始以为Nextcloud只是一个网盘云存储

Apache+Tomcat+Session+Memcache 高性能群集搭建

浪子不回头ぞ 提交于 2020-12-31 09:35:33
一、拓扑图 二、环境安装 安装memcached的直接yum [root@70sec ~]# yum -y install memcached [root@70sec ~]# service memcached start Starting memcached: [ OK ] [root@70sec ~]# ss -anlpt | grep memcached LISTEN 0 128 :::11211 :::* users:(("memcached",26347,27)) LISTEN 0 128 *:11211 *:* users:(("memcached",26347,26)) [root@70sec ~]# 因为tomcat依赖于java环境 所以先安装jdk,(tomcat A B 都相同) [root@90sec src]# rpm -ivh jdk-7u9-linux-x64.rpm [root@90sec src]# vim /etc/profile.d/java.sh JAVA_HOME=/usr/java/jdk1.7.0_09 PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME [root@90sec src]# source /etc/profile.d/java.sh 安装tomcat [root@90sec src]#

Linux入门及企业服务器知识学习笔记

六月ゝ 毕业季﹏ 提交于 2020-12-31 09:23:59
1、 Linux是类UNIX操作系统,是一个基于POSIX移植操作系统接口和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。 2、用于企业服务器、WEB网站平台、大数据、虚拟化、Android、超级计算机、云计算、物联网、人工智能等领域。 3、开源免费;迭代更新;性能稳定;安全性高; 多任务,多用户;多线程;多CPU; 耗资源少;内核小; 应用广泛; 入门简单。 4、企业服务器品牌及型号:DELL(大多数公司),HP,IBM,浪潮,联想 2014年-2016年DELL:(1U)R420,R430, R620,R630 (2U)R720,R730 HP:2U DL380 G7/G8 IBM:1U 3550/m3 ,3550/m5 2U 3650,4U 3850,8U 3950 5、服务器尺寸:1U=4.45cm 1U 2U 4U 6、服务器一般是双电源,双线AB路 7、一般企业服务器的CPU数量2-4颗,单颗CPU4核,内存16-256G(常见32G,64G)。做虚拟化的宿主机,CPU数量4-8颗,单颗CPU4核,内存48-128G,6-10个虚拟机。 8、常见服务器磁盘是3.5mm英寸,大部分机械硬盘,读取性能相比内存来说不高,硬盘接口:IDE,SCSI SATA SAS SSD,性能: SSD> SAS > SATA, 磁盘阵列卡RAID:整合多块硬盘,有冗余备份

总结一波 Redis 面试题,收藏起来!

半世苍凉 提交于 2020-12-30 23:37:07
本文的面试题如下: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构 redis的过期策略以及内存淘汰机制【~】 Redis 为什么是单线程的,优点 如何解决redis的并发竞争key问题 Redis 集群方案应该怎么做?都有哪些方案? 有没有尝试进行多机redis 的部署?如何保证数据一致的? 对于大量的请求怎么样处理 Redis 常见性能问题和解决方案? 讲解下Redis线程模型 为什么Redis的操作是原子性的,怎么保证原子性的? Redis事务 Redis实现分布式锁 Redis 持久化机制 Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同步到硬盘文件来保证数据持久化。当Redis重启后通过把硬盘文件重新加载到内存,就能达到恢复数据的目的。 实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了,再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。 RDB是Redis默认的持久化方式。按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件