caojunqi123like 2016-04-20 09:23 采纳率: 0%
浏览 1460

Memcache缓存重复数据疑问

在应用Memcache时,我发现一个问题。因为我要通过键值对的形式把数据存入缓存中,而键的类型只能为String。以查找Student数据为例,考虑以下情况:
未使用Memcache时:我所有查找数据的参数基本都是Student类型,前台给了我一个id,我会先新建一个Student类,然后student.setId(id),把这个id存入student类中,然后StudentMapper.findById(Studnet student);这样就能返回我要查找的student类了;前台给了我一个name,我也是先把name存入student类再查找的。
使用Memcache后:我得从缓存中通过键值对的形式获得数据,如果前台给了我一个id,我从数据库中获得了这个student数据(假设为s1),然后我会使用set("id",s1)保存数据到缓存中;当前台给了我一个name(这个name正好就是s1的name),我不能从缓存中get到s1数据,只能又从数据库中查找出s1,然后又set("name",s1)保存数据到缓存中。假如这个s1有十几个属性,每个属性都有可能被前台传过来作为条件查询,那我岂不是要在缓存中保存十几个s1数据?

  • 写回答

1条回答

  • 时间的情敌 2016-04-20 12:31
    关注

    memcache存储数据是在内存中,而不是在硬盘里,这样重开机后原来所存储的数据会全部消失

    评论

报告相同问题?

悬赏问题

  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化