本帖最后由 freeyxm 于 2012-05-13 10:51:55 编辑

解决方案 »

  1.   

    如果把数据都保存在session 当然可以,前提是你是否有足够多的内存支持?你说的可以使用js+cookie来实现,不过有个问题是cookie所能保存的内容也是有限的.另外也容易伪造
      

  2.   

    COOKIE是暴漏的啊,不安全啊,客户端编什么服务器信什么不就蛋疼了。
    COOKIE就是一个可退化的会话技术,有没有都不会影响服务端的逻辑与安全。如果一个用户登录以后,你发给用户一个COOKIE来标记用户已登录,那完蛋了。。
    坏人只要分析出这个COOKIE的格式,用任何账号名都能编造出来,还玩毛啊。。只要客户端能直接触碰的东西都是不安全的。
      

  3.   


    session技术只不过是方便程序员编程的库,其实就是随机COOKIE加服务端会话持久化。SESSION是随机SESSION_ID码,而用户的账号与会话信息在服务端维护。
    如果仅仅用COOKIE来标示用户,意味着你必须把账号存在COOKIE里发给用户,以便追踪会话。那黑客就能分析COOKIE的格式,看看用户账号是怎么编码存在里面的,之后就可以编造任意用户身份登录了。(注意:假设仅仅用COOKIE,服务端无任何持久化认证信息。)
      

  4.   


    谢谢,看来用session、cookie缓存数据都不理想……现在就像用最基本的技术达到效果就行,看来只是一厢情愿了……
      

  5.   


    这个没关系,我只是用cookie缓存客户端查询的数据集,这样客户端增加、删除某个信息的时候直接跟新缓存,再发送给客户端就行,不用再重新查询数据库了,数据都是客户端已经看到过的……
      

  6.   


    你这是什么逻辑本来就是页面内容,放COOKIE里算什么。在服务端缓存,直接作为页面发给浏览器不是很正常吗?数据缓存在服务端也可以避免查询数据库。 你缓存在COOKIE里,你必须JS去操作COOKIE, 万一用户删了COOKIE,你还得AJAX去拉数据? 蛋疼了。
      

  7.   

    这都是怎么啦?
    为了减少你的所谓“数据库压力”,把本来该由数据库保存的内容,交给 php 去用文件保存
    为了减少你的所谓“php压力”,又把数据交由浏览器保存
    再下面呢?你是不是该出本书,让用户自己看?不然用户的计算机不也受不了了吗?
      

  8.   


    好吧,我错了,,再罗嗦下我的思路……用户在页面A查询出一堆数据,点击某条记录的删除按钮,成功删除本条记录后,继续在本页面显示剩余的记录……由此,第二次显示的内容和第一次显示的内容除了少了一条记录外,其余完全一样,这样第二次显示的的时候就没必要重新查询数据库,只需要把第一次的内容改下就行,这样就想到了把上次查询的结果缓存一下,第二次直接拿来用就行……(要是每次查询数据库都涉及到大量的联合、笛卡尔积等操作的话,缓存结果会减少大量不必要的操作……)现在就是除了用SESSION、COOKIE外,还没想到有更好的简单的方法进行缓存……
      

  9.   

    再者说 SESSION、COOKIE 是属于用户私有的
    而删除记录是公有的事件,你总不能说甲删除记录时对乙就无效吧
    假定现在有一万个用户在线,你打算如何去更新他们的缓存呢?