应用场景:
用户对象列表数据查询频率很高、需要把用户对象列表保存到缓存中。每次查询的时候无需再查询数据减轻数据库的压力
Memcached实现缓存列表对象:
假如列表对象很大、把整个列表对象作为一个大对象来缓存的话、每次获取的时候都要获取一个大对象、很浪费资源。
所以把列表对象分解成为多个对象来保存
缓存列表对象的步骤:
1、 封装列表对象:把用户对象ID列表缓存到列表对象中,用户对象ID指向用户对象
2、 以ID为key分别缓存用户对象保存到缓存中
3、 缓存对象经过分布式策略分别保存在不同的memcached服务中
获取用户对象列表的时候:获取用户对象ID列表、再根据ID逐个获取用户对象。
现在问题来了:
假如有一台memcached服务器down掉了。
1、 当我们根据用户对象ID列表来获取对象信息的时候可能就有一部分的对象是无法获取。
解决的方法一、根据用户对象ID打开一个数据库连接查询数据库、把对象数据补充到缓存中
好处:保证了数据的完整性、逐步恢复缓存数据
缺点:真正的应用中可能一台memcached服务里面保存有几百万甚至几千万条类似用户对象这样的对象。这样每个对象打开一次数据库连接就需要打开几百万次数据库连接甚至几千万次数据库连接。
解决方法二、当发现从缓存中获取对象列表的数据不完整、放弃缓存获取对象列表,直接从数据库获取、启动一个线程补充缓存中的用户对象
以上的解决方法都觉得不是很好、备忘一下
- 大小: 38.1 KB
分享到:
相关推荐
linux安装memcached问题处理,可能有些乱,但是能看懂
在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装 3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动...
memcached, libevent, MemCachedClient
memcached 64位 window memcached 64位 window memcached 64位 window
安装Memcached及Memcached配置
python-memcached python-memcached
memcached安装软件 libevent-2.0.21-stable.tar.gz magent.tar.gz memcached-1.4.15.tar.gz
memcached实现集群的session共享问题,处理集群服务器情况下,memcached的session共享解决方案
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
MemCached For Win32 服务器 -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 -...
memcached可视化工具memadmin,memcached可视化工具memadmin
memcached协议中文版 memcached协议中文版 memcached协议中文版
使用memcached 方法 package com.war.common.util; import com.danga.MemCached.*; import java.util.Date; public class MemCached { protected static MemCachedClient mcc; protected static Logger log; ...
详细介绍安装Memcached及Memcached配置
memcached.exe及memcached.dll
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的...
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载,很好的提高了Web性能。Memcached需要有缓存服务端,采用java编程的话还需要memcached.jar,这就是java中实现memcached服务的...
Memcached 统计与监控,用telnet去连接memcached,并统计和监控memcached
memcached的基本设置: -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 -d ...
安装Memcached及Memcached配置