memecached缓存.docx_第1页
memecached缓存.docx_第2页
memecached缓存.docx_第3页
memecached缓存.docx_第4页
memecached缓存.docx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

jdeis数据缓存的实现流程:/用于把数据缓存起来CacheUtil.CacheFansRecepMsg(fans.getaId(),fans.getOpenId(),fans.getWeimobOpenId(),msg);public static void CacheFansRecepMsg(Integer aid, String openId, String weimobOpenId, FansRecepMsg msg)/最后一个参数是一个表对象 String key = CacheKeyManagerUtil.getFansRecepMsgKey(aid, openId, id); /key用此从数据库中取出数据(作为一种标识) jedis.setex(key,FansRecepMsg_Exp,SerializeUtil.objectToJson(msg); /Redis Setex 命令为指定的 key 设置值及其过期时间。并存储数据如果 key 已经存在, SETEX 命令将会替换旧的值。public static String getFansRecepMsgKey(Integer aid, String openId, String id) if (StringUtil.isNotEmpty(openId) /如果不为空,则使用这两个字段作为数据库的标识 return MessageFormat.format(FansRecepMsg_0_1, aid.toString(), openId); else return MessageFormat.format(FansRecepMsg_0_1, aid.toString(), v); public String setex(final String key, final int seconds, final String value) checkIsInMultiOrPipeline();/个人感觉类似于memecache的那种设置的含义 client.setex(key, seconds, value); return client.getStatusCodeReply(); Memecache数据缓存的实现:/用于从缓存中取数据的key值,有前缀是为了避免数据一致String key=MsgReadPrefix + MsgReadIn.getAid() + _ + MsgReadIn.getCid() + _ + MsgReadIn.getMessageid();/最后一个参数为存入的数据,第二个参数是数据在缓存中存在的时间,第一个标识缓存的key值memcachedTemplate.set(key, 60, getlListOut);/用于维护缓存,删除掉已经使用过的数据memcachedTemplate.delete(key);java如何实现mysql中的数据导出:Sql代码mysqldump -uusername -ppassword -hhost -Pport exportDatabaseName exportPathmysqldump -uusername -ppassword -hhost -Pport exportDatabaseName exportPath利用Java调用命令窗口执行命令来进行MySql导入数据库一般分三步走:第一步:登录Mysql数据库,在登录数据库的时候也可以指定登录到哪个数据库,如果指定了则可以跳过第二步;第二步:切换数据库到需要导入的目标数据库第三步:利用命令开始导入直接使用命令的情况是bin被添加到path(环境变量)目录下。Memecached教程 memecached的连接:可以通过telnet命令并指定主机ip和端口来链接memecached Telnet host portset命令:用于将value(数据值)存储在指定的key中 如果key已经存在,该命令可以更新key所对应的原来的数据,实现更新作用。Add命令:用于将value存储在指定key中 如果add的key已经存在,则不会更新数据,之前的值仍然保持相同,并且获得响应not_stored。Replace:用于替换已存在的key对应的value值 如果key不存在,则替换失败,并且获得响应not_stored。Append:用于向已存在的key所对应的value值后面追加数据Prepend:用于向已经存在的key所对应的value值前面追加数据CAS命令: Memcached CAS(Check-And-Set 或 Compare-And-Swap) 命令用于执行一个检查并设置的操作它仅在当前客户端最后一次取值后,该key 对应的值没有被其他客户端修改的情况下, 才能够将值写入。检查是通过cas_token参数进行的, 这个参数是Memcach指定给已经存在的元素的一个唯一的64位值。Get:用于获取存储在key中的value值 get key/get key1 key2 key3Gets:用于获取带有CAS令牌的value数据值set runoob 0 900 9memcachedSTOREDgets runoobVALUE runoob 0 9 1 /这个1代表了key为runoob的CAS令牌memcachedEND Delete:删除已存在的keyIncr和decr:用于对已经存在的key的数字值进行自增和自减操作Stats:用于统计信息(pid)、版本号。连接数等Stats items:用于显示各个slab中item的数目和存储时长Stats slabs:用于显示各个slab的信息,包括chunk的大小,数目,使用状况等Stats sizes:用于显示所有item的大小和个数第一列是item的大小,第二列是item的个数Flush_all:命令用于清理缓存中所有key=(键=值)对 该命令提供了一个可选参数time,用于在指定的时间后执行清理动作。Java连接memecached服务 需要在classpath中添加memacached.jar包连接实例:import net.spy.memcached.MemcachedClient;import .*;public class MemcachedJava public static void main(String args) try / 本地连接 Memcached 服务 MemcachedClient mcc = new MemcachedClient(new InetSocketAddress(, 11211); System.out.println(Connection to server sucessful.); / 关闭连接 mcc.shutdown(); catch(Exception ex) System.out.println( ex.getMessage() ); 设计模式:工厂模式:是java中最常用的设计模式,创建型模式,是创建随想的最佳模式我们不会对客户端暴露创建逻辑,并且是通过一个共同的借口来指向新创建的对象 示例:创建一个shape接口实现shape接口的实体类,创建一个接口:Shape.javaPublic interface shapeVoid draw();创建实现接口的实体类Rectangle.javapublic class Rectangle implements Shape Override public void draw() System.out.println(Inside Rectangle:draw() method.); Square.javapublic class Square implements Shape Override public void draw() System.out.println(Inside Square:draw() method.); Circle.javapublic class Circle implements Shape Override public void draw() System.out.println(Inside Circle:draw() method.); 创建一个工厂,生成基于给订信息的实体类对象ShapeFactory.javaPublic class ShapeFactory/使用getShape方法获取形状类型的对象Public Shape getShape(String shapeType)If(shapeType = null)return null;If(shapeType.equalsIgnoreCase(“CIRCLE”)Return new Circle();else if(shapeType.equalsIgnoreCase(“RECTANGLE”)Return new Rectangle();else if(shapeType.equalesIgnoreCase(“SQUARE”)Return new Square();Return null;使用该工厂,通过传递类型信息来获取实体类对象FactoryPatternDemo.javapublic class FactoryPatternDemoPublic static void main(String args)ShapeFactory shapeFactory = new ShapeFactory(); /获取 Circle 的对象,并调用它的 draw 方法 Shape shape1 = shapeFactory.getShape(CIRCLE); /调用 Circle 的 draw 方法 shape1.draw(); /获取 Rectangle 的对象,并调用它的 draw 方法 Shape shape2 = shapeFactory.getShape(RECTANGLE); /调用 Rectangle 的 draw 方法 shape2.draw(); /获取 Square 的对象,并调用它的 draw 方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论