PHP内存缓存
每当涉及到获取时间非常短的键值存储时,缓存在系统设计中都扮演着重要的角色。因此,为了消除数据库延迟,我们都使用缓存内存,它有点易失,但具有高可用性,并且很容易用作会话存储和类似的用例。
Memcached 是一种缓存类型,它是一种高性能的分布式内存对象缓存系统,本质上是通用的,但旨在通过减轻数据库负载来加速动态 Web 应用程序。
它与 libMemcached 一起使用,旨在为使用 Memcached 提供最大数量的选项。提供的一些功能:
- 异步和同步传输支持。
- 一致的哈希和分布。
- 用于匹配键的可调散列算法。
- 访问大对象支持。
- 本地复制。
- API 的完整参考指南和文档。
- 管理 Memcached 网络的工具
在 ubuntu 上安装:要在 Ubuntu 上安装 Memcached,请转到终端并键入以下命令 -
$sudo apt-get update
$sudo apt-get install memcached
例子:
PHP
";
// Server & port details
$server = '127.0.0.1';
$port = 11211;
// Initiate a new object of memcache
$memcacheD = new Memcached();
// Add server
if ($memcacheD->addServer($server, $port)) {
echo "** server added ** \n";
}
else {
echo "** issue while creating a server **\n";
}
// Set key & value with TTL
$key = "GEEKSFORGEEKS";
$value = "computer science portal";
$ttl = 3600;
if ($memcacheD->add($key, $value, $ttl))
echo "** added key-value (" . $key . ":"
. $value . ")to cache successfully!! **\n";
else
echo "** error while adding value to cache!! **\n";
// Get value of key
echo "**** FETCHED VALUE FOR KEY :"
. $key . " ****\n";
$valD = $memcacheD->get($key);
var_dump($valD);
?>
输出:
** server added **
** added key-value (GEEKSFORGEEKS:computer science portal)to cache successfully!! **
**** FETCHED VALUE FOR KEY :GEEKSFORGEEKS ****
string(23) “computer science portal”
参考: https://www. PHP.net/manual/en/book.memcached。 PHP