缓存类
文章平均质量分 79
luyaran
像永远快乐的阳光,追求那至高无上的完美乐园。
展开
-
Linux下memcache的安装
memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。据说官方所说,其用户包括twitter、digg、flickr等,都是些互联网大腕呀。目前用memcache解决互联网上的大用户读取是非常流行的一种用法。 ? 我在Linux上安装了一下memcache,这里先不说用法,先说一下安装,如下。 首先当然是下载了,我到了其官方(http:转载 2016-09-20 11:43:21 · 298 阅读 · 0 评论 -
同程旅游缓存系统(凤凰)打造Redis时代的完美平台实践
缓存大家比较熟悉,在各种场景下也用的很多,在同程旅游也一样,缓存是一个无处不在的精灵,也是抗并发压力的核心系统之一。今天我们来讲一下同程旅游在缓存方面的一些经验,包括整个缓存架构如何设计。先来看一下缓存我们走过了哪些历程。最早我们在应用中使用内存对象来存放变化比较小数据,慢慢的发现在应用本地的内存量是不足以这样折腾的是精贵的,所以开始使用从 memcache 来将缓存从应用中分离出来。之后缓存的场转载 2017-02-08 16:45:59 · 1879 阅读 · 0 评论 -
使用Memcached实现Session共享
使用Memcached实现Session共享 由于Cookie是保存的用户客户端的,安全性存在问题,为保证用户数据的安全性,我们必须使用Session机制来保存用户登录后的一些信息。 如果我们使用LVS对Apache实现负载均衡,就无法保证用户每次都能被分配到同一台Apache Server上,以取到自己的Session,虽然LVS可以加-p参数来保证客户端每次都被分配到同一台Apache转载 2017-02-20 15:04:38 · 453 阅读 · 0 评论 -
基于php使用memcache存储session的详解
web服务器的php session都给memcached ,这样你不管分发器把 ip连接分给哪个web服务器都不会有问题了,配置方法很简单,就在php的配置文件内 增加一条语句就可以了,不过前提你需要装好memcache模块 1.设置session用memcache来存储 方法I: 在 php.ini 中全局设置 session.save_handler = memcache sess转载 2017-02-20 15:05:33 · 371 阅读 · 0 评论 -
node.js下redis简单操作实例
redis API:http://redis.readthedocs.org/cn/latest/index.html npm install redis // redis 链接 var redis = require('redis'); var client = redis.createClient('6379', '127.0.0.1'); // redis 链接错误 client转载 2017-02-16 09:32:44 · 1310 阅读 · 0 评论 -
Node.js操作Redis的简单示例
Redis是一个key-value类型的数据库,而key全部都是字符串,value可以是集合、hash、list等等。 Redis是通过MULTI/DISCARD/EXEC/WATCH这4个命令来实现事务功能。对事务,我们必须知道事务安全性是一个非常重要的。 事务提供了一种“将多个命令打包,然后一次性、按顺序执行”的机制,并且在事务执行期间不会中断——意思就是在事务完成之前,客户端的其他命令都转载 2017-02-16 09:33:21 · 736 阅读 · 0 评论 -
Nodejs与Redis的交互(mranney/node_redis)入门
简介和安装 redis简介: 开源高性能key-value存储;采用内存中(in-memory)数据集的方式,也可以采用磁盘存储方式(前者性能高,但数据可能丢失,后者正好相反)支持字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等;支持对复杂数据结构的高速操作。特性多,支持主从同步、pub/sub等支持多种客转载 2017-02-16 09:34:43 · 5796 阅读 · 0 评论 -
在Node.js应用中读写Redis数据库的简单方法
在开始本文之前请确保安装好 Redis 和 Node.js 以及 Node.js 的 Redis 扩展 —— node_redis 首先创建一个新文件夹并新建文本文件 app.js 文件内容如下: var redis = require("redis") , client = redis.createClient(); client.on("error", funct转载 2017-02-16 09:35:30 · 4654 阅读 · 0 评论 -
Node.js开发之访问Redis数据库教程
大家要记住,Node.js主要用于构建高性能、高可伸缩性的服务器和客户端应用,它面向的是“实时Web”。 Node.js的目标是提供一个“以简单的方式构建可扩展的网络服务器”,它受到来自Ruby语言的事件机(Event Machine)和来自Python的Twisted框架的影响。 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库转载 2017-02-16 09:36:31 · 1421 阅读 · 0 评论 -
Python连接Redis连接配置
系统环境: OS:Oracle Linux Enterprise 5.6 Redis:redis-2.6.8 Python:Python-2.7.3 redis的python包版本:redis-2.7.2.tar 前提条件: 1.确保Redis已成功安装并且正确配置,参考文档 主从复制文档: http://blog.csdn.net/转载 2017-02-16 09:38:23 · 1881 阅读 · 0 评论 -
python——操作Redis
在使用django的websocket的时候,发现web请求和其他当前的django进程的内存是不共享的,猜测django的机制可能是每来一个web请求,就开启一个进程去与web进行交互,一次来达到利用cpu多核的目的。但是这样一来,内存共享的问题就变成了焦点。这周试了一下redis,果然很好用。 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类转载 2017-02-16 09:40:39 · 742 阅读 · 0 评论 -
redis安全设置
Redis的安全设计是在"Redis运行在可信环境"这个前提下做出的,在生产环境运行时不能允许外界直接连接到Redis服务器上,而应该通过应用程序进行中转,运行在可信的环境中是保证Redis安全的最重要方法。 1.为redis设置密码 在redis.conf中进行配置: [plain] view plain copy requirepass helloca转载 2017-02-16 10:00:34 · 1318 阅读 · 0 评论 -
redis密码设置、访问权限控制等安全设置
redis作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护,方法有2,如下。 1.比较安全的办法是采用绑定IP的方式来进行控制。 请在redis.conf文件找到如下配置 # If you want you can bind a single interface, if the bind option is not # specified all the interf转载 2017-02-16 10:01:18 · 2778 阅读 · 0 评论 -
Redis安全
安全 运行在可信环境 Redis的安全设计是在"Redis运行在可信环境"这个前提下做出的,在生产环境运行时不能允许外界直接连接到Redis服务器上,而应该通过应用程序进行中转,运行在可信的环境中是保证Redis安全的最重要方法。 Redis的默认配置会接受来自任何地址发送来的请求,即在任何一个拥有公网IP的服务器上启动Redis服务器,都可以被外界直接访问到。要更改这一设置转载 2017-02-16 10:02:29 · 268 阅读 · 0 评论 -
redis密码设置、访问权限控制等安全设置
redis作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护。 1.比较安全的办法是采用绑定IP的方式来进行控制。 复制代码 代码如下: bind 127.0.0.1 表示仅仅允许通过127.0.0.1这个ip地址进行访问。那么其实只有自己才能访问自己了,其他机器都无法访问他。 这段命令要去redis.conf里修改。 这里请注意 我们常用的启动方式src转载 2017-02-16 10:03:35 · 1319 阅读 · 0 评论 -
Redis数据结构详解
redis数据类型分为:字符串类型、散列类型、列表类型、集合类型、有序集合类型。 redis这么火,它运行有多块?一台普通的笔记本电脑,可以在1秒钟内完成十万次的读写操作。 原子操作:最小的操作单位,不能继续拆分。即最小的执行单位,不会被其他命令插入。高并发下不存在竞态条件。 KEY的命名:一个良好的建议是article:1:title来存储ID为1的文章的标题。 一、前言。 1、获取k转载 2017-03-28 19:57:54 · 330 阅读 · 0 评论 -
memcache的一致性hash算法使用
一、概述 1、我们的memcache客户端(这里我看的spymemcache的源码),使用了一致性hash算法ketama进行数据存储节点的选择。与常规的hash算法思路不同,只是对我们要存储数据的key进行hash计算,分配到不同节点存储。一致性hash算法是对我们要存储数据的服务器进行hash计算,进而确认每个key的存储位置。 2、常规hash算法的应用以及其弊端 最转载 2017-01-16 13:49:04 · 321 阅读 · 0 评论 -
Redis 应用案例 - 在问题中不断成长
背景 产品类型:酒店搜索 技术选型:前端 PHP + 后端 Java,都会用到 Redis Redis 使用场景:缓存、数据持久化前的临时存储 2010年开始应用 Redis,PHP 对其操作时使用的是 Predis 这个客户端库 2013年改用了 phpredis 作为客户端库 2014年开始出现问题 问题描述 用户量快速增长,访问量在短时间内翻倍,由于前期容量规划做得比较好,硬转载 2017-02-05 19:57:05 · 384 阅读 · 0 评论 -
linux环境下memcache的安装
安装: 下载安装包:memcached-1.4.8.tar.gz(最新) libevent-1.4.9-stable.tar.gz(socket通信程序,它是 memcached 所依赖的异步事件通知库) 上述包都是用c写的。故在linux环境下安装,linux必须有c编译环境,目前都用gcc(最好系统自带,否则自己安装非常麻烦,特别耗时间) 命令 =============libevent转载 2016-09-20 11:41:49 · 289 阅读 · 0 评论 -
Linux下的Memcache安装方法
Linux下Memcache服务器端的安装 服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 。 下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz 另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新转载 2016-09-20 11:39:14 · 300 阅读 · 0 评论 -
Linux下的Memcache安装
from http://www.ccvita.com/257.html Linux下的Memcache安装 记录下Memcache安装的过程。 Linux下Memcache服务器端的安装 服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 。 下载:http://www.danga.com/memcached/dist/memca转载 2016-09-20 11:35:52 · 240 阅读 · 0 评论 -
PHP操作Memcache实例介绍
memcache可以保存的数据:字符串,数值,数组,对象,下面为大家介绍下如何使用PHP操作Memcache,不会的朋友可以参考下哈 b/s: 基于浏览器和服务器架构 web程序 c/s: QQ SVN client客户端+ 服务器 简单的基于文本行的协议: redis memcache 区别: 都是存储数据的,memcache直接保存到内存中,redis 保存转载 2016-09-20 20:58:23 · 311 阅读 · 0 评论 -
php操作memcache的使用测试总结
1.简介 memcache模块是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象的方便的接口,特别是对于设计动态web程序时减少对数据库的访问。 memcache也提供用于通信对话(session_handler)的处理。 更多Memcache 模块相关信息可以到 http://www.danga.com/memcached/ 查阅。 1.1.memcache在php.ini中转载 2016-09-20 11:57:12 · 1154 阅读 · 0 评论 -
memcache使用方法测试
//php操作memcache的使用测试总结--学习 //1 Memcache::connect; //$memcache = new Memcache; //$memcache->connect('127.0.0.1',11211) or die("链接失败!"); //2 Memcache::pconnect; 长链接 //$memcache =转载 2016-09-20 11:54:58 · 1934 阅读 · 0 评论 -
php文件缓存实例代码
cache.php 代码如下: php代码 /* 用户需要事先定义的常量: _cachepath_ 模板缓存路径 _cacheenable_ 自动缓存机制是否开启,未定义或为空,表示关闭自动缓存机制 _recachetime_ 自动重新缓存间隔时间,单位为秒,未定义或为空,表示关闭自动重新缓存 */ class c转载 2016-09-13 15:38:03 · 283 阅读 · 0 评论 -
一个简单至极的PHP缓存类代码
1、实例化 $cache = new Cache(); 2、设置缓存时间和缓存目录 $cache = new Cache(60, '/any_other_path/'); 第一个参数是缓存秒数,第二个参数是缓存路径,根据需要配置。 默认情况下,缓存时间是 3600 秒,缓存目录是 cache/ 3、读取缓存 $value = $cache->get('data_key');转载 2016-09-13 15:39:19 · 334 阅读 · 0 评论 -
一个PHP缓存类,附三个实例Demo代码
class Cache { /** * $dir : 缓存文件存放目录 * $lifetime : 缓存文件有效期,单位为秒 * $cacheid : 缓存文件路径,包含文件名 * $ext : 缓存文件扩展名(可以不用),这里使用是为了查看文件方便 */ private $dir; private $lifetime; private $cacheid;转载 2016-09-13 15:34:26 · 322 阅读 · 0 评论 -
一个简洁实用的PHP缓存类
php缓存类文件完整代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 4转载 2016-09-13 15:30:02 · 277 阅读 · 0 评论 -
一致性hash原理
一致性hash最常见的应用情形就是缓存,其实只要涉及到hash和多台主机请求路由的情况,都可能涉及到一致性hash问题。一致性hash主要是考虑到集群中节点挂掉或新增节点的时候,要对已有节点的影响降到最小,传统hash值取余方式肯定不能满足这个要求,交换节点位置影响还有限,但是新增节点、删除节点会让绝大多数的缓存失效,除了导致性能骤降外很有可能会压垮后台服务器。对于日常使用的情况,节点挂掉算是小概转载 2016-12-15 09:34:19 · 2727 阅读 · 0 评论 -
memcache的一致性hash算法使用
一、概述 1、我们的memcache客户端(这里我看的spymemcache的源码),使用了一致性hash算法ketama进行数据存储节点的选择。与常规的hash算法思路不同,只是对我们要存储数据的key进行hash计算,分配到不同节点存储。一致性hash算法是对我们要存储数据的服务器进行hash计算,进而确认每个key的存储位置。 2、常规hash算法的应用以及其弊端 最转载 2016-12-30 16:38:21 · 251 阅读 · 0 评论 -
Redis消息通知系统的实现
内存 比如要推送一条全局消息,如果真的给所有用户都推送一遍的话,那么会占用很大的内存,实际上不管粘性有多高的产品,活跃用户同全部用户比起来,都会小很多,所以如果只处理登录用户的话,那么至少在内存消耗上是相当划算的,至于未登录用户,可以推迟到用户下次登录时再处理,如果用户一直不登录,就一了百了了。 队列 当大量用户同时登录的时候,如果全部都即时处理,那么很容易就崩溃了,此时可以使用转载 2016-12-30 16:41:29 · 611 阅读 · 0 评论 -
Redis源码剖析--RDB持久化
众所周知,Reids是一个高效的内存数据库,所有的数据都存放在内存中。这种模式的缺点就是一旦服务器关闭后会立刻丢失所有存储的数据,Redis当然要避免这种情况的发生,于是其提供了两种持久化机制:RDB和AOF。它们的功能都是将内存中存放的数据保存到磁盘文件上,等到服务器下次开启时能重载数据,以免数据丢失。今天,我们先来剖析一下RDB持久化机制。 RDB概述 看过我系列博客的应该知道我分析源码的转载 2016-12-31 11:17:29 · 734 阅读 · 0 评论 -
分布式缓存-Memcached
原文:http://wenku.baidu.com/view/8686d46c7e21af45b307a8c3.html 什么是Memcached 许多Web应用程序都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大,访问的集中,就会出现REBMS的负担加重,数据库响应恶化,网站显示延迟等重大影响。Memcached是高性能的分布式内存缓存服务器。一转载 2017-01-09 09:48:29 · 263 阅读 · 0 评论 -
基于Redis的MessageQueue队列封装
Redis的链表List可以用来做链表,高并发的特性非常适合做分布式的并行消息传递。 项目地址:https://github.com/huyanping/Zebra-PHP-Framework 左进右出 1 2 $redis->lPush($key, $value); $redis->rPop($key);转载 2017-04-05 10:39:40 · 774 阅读 · 0 评论