会话存储我研究使用的memcached作为建立在笨一个系统会话存储的可能性。有没有人以前做过这个(这可能是一个愚蠢的问题:)如果是这样,你的经验是什么人?你有没有使用任何现有的库/扩展? 至于性能改善你见过什么?任何警告?使用memcached的与笨
6
A
回答
6
有PHP把会话到内存缓存直接,而不是通过框架代码很简单 - 它只是改变两条线在php.ini:
# see http://php.net/manual/en/memcache.ini.php
session.save_handler = memcache
session.save_path="tcp://127.0.0.1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"
这里使用了年龄稍大(但仍完全支持)来自PECL的'memcache'扩展。
1
您可以选择笨Multicache图书馆,它可以在这里找到:http://www.haughin.com/code/multicache/
在代码中,你可以简单的使用是这样的:
$this->load->library('cache');
//To use memcache
$this->cache->useMemcache($iptomemcache, $port); /*if you want, you can check to see if the connection even worked, as this will return false if the connection failed.*/
$this->cache->save('testkey', 'testdata', NULL, 3600); /*caches the testdata string for 1 hour. */
echo $this->cache->get('testkey');
//To switch back to file based caching
$this->cache->useFile();
//etc.
-3
这是不切合实际的使用Memcached的存储关系数据(如MySQL);从Memcached请求每个项目然后测试它是否与查询匹配将是低效的。对于这样的问题有更好的解决方案(例如,考虑MySQL中的内存表)。另一方面,如果你正在寻找简单的键/值存储,这当然是Memcached的一个实际应用。然而,我会有点小心的是为它编写一个CodeIgniter驱动程序。 PHP中Memcached的界面已经很简单:
$memcached->get('my key');
$memcached->set('my key', 'my value');
我建议直接使用Memcached类。将所有额外开销加到CI上对我来说似乎是肮脏和不必要的。
另一方面,我见过用于CodeIgniter会话引擎的Memcached实现。这当然是编写驱动程序的一个非常有效的理由,我会极力鼓励它(会话在缩放中是一个痛处)。
好运
相关问题
- 1. 类的Memcached没有找到,PHP笨
- 2. 与Memcached使用Codeigniter的问题
- 3. 使用WHERE CONCAT与笨
- 4. 的Facebook SDK与笨和笨CSRF启用
- 5. Memcached :: getStats不能与Couchbase配合使用
- 6. 如何使用memcached与PHP和MYSQL
- 7. 使用Apache :: Session :: Memcached与MasonX ::请求:: WithApacheSession
- 8. Memcached的rubygem +与memcache_mget()
- 9. 想要与Memcached的
- 10. 与memcached缓存
- 11. 使用与SQLSRV(笨)的活动记录
- 12. 使用Whalin memcached检索Memcached值
- 13. 与笨
- 14. 与笨
- 15. 与笨
- 16. 何时使用memcached
- 17. 何时使用memcached
- 18. memcached使用案例
- 19. 笨-fetching数据与笨钩
- 20. 使用memcached的PHP扩展
- 21. memcached或lucene.net与nhibernate
- 22. Memcached与Windows和.NET
- 23. 开始使用URL路由与PHP笨
- 24. 如何使SQLAlchemy使用Memcached?
- 25. 使用笨2.0.3
- 26. 使用笨
- 27. 使用笨
- 28. 使用笨
- 29. 在使用笨
- 30. 使用笨