php实现 redis
PHP 实现 Redis 操作
在 PHP 中操作 Redis 通常使用 phpredis 扩展或 Predis 库。以下是两种方法的详细说明。
使用 phpredis 扩展
安装 phpredis 扩展:
pecl install redis
在 php.ini 中添加:
extension=redis.so
连接 Redis 并操作:
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// 设置键值
$redis->set('key', 'value');
// 获取键值
$value = $redis->get('key');
echo $value;
// 删除键
$redis->del('key');
使用 Predis 库
安装 Predis:
composer require predis/predis
连接 Redis 并操作:
require 'vendor/autoload.php';
$client = new Predis\Client([
'scheme' => 'tcp',
'host' => '127.0.0.1',
'port' => 6379,
]);
// 设置键值
$client->set('key', 'value');
// 获取键值
$value = $client->get('key');
echo $value;
// 删除键
$client->del('key');
常见操作示例
字符串操作:
$redis->set('counter', 100);
$redis->incr('counter'); // 自增
$redis->decr('counter'); // 自减
哈希操作:
$redis->hSet('user', 'name', 'Alice');
$redis->hGet('user', 'name'); // 返回 'Alice'
列表操作:
$redis->lPush('list', 'item1');
$redis->rPush('list', 'item2');
$redis->lPop('list'); // 返回 'item1'
注意事项
确保 Redis 服务已启动并监听正确端口。默认端口为 6379。
对于生产环境,建议配置 Redis 密码认证:
$redis->auth('password');
连接池和长连接可以通过以下方式实现:
$redis->pconnect('127.0.0.1', 6379);
性能优化
使用管道(pipeline)提升批量操作性能:
$redis->pipeline(function ($pipe) {
for ($i = 0; $i < 1000; $i++) {
$pipe->set("key:$i", $i);
}
});
使用事务(multi/exec)确保原子性:
$redis->multi();
$redis->set('key1', 'value1');
$redis->set('key2', 'value2');
$redis->exec();
以上方法涵盖了 PHP 中操作 Redis 的基本和进阶用法,适用于大多数应用场景。







