本文原发布于 2022-07-05,从旧博客迁移至此处。 整理:Hermes
常用 PHP 操作 Redis 命令整理
Redis 是一个高性能的键值存储数据库。本文整理了 PHP 中常用的 Redis 操作命令。
🔧 连接 Redis
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// 或者带密码
$redis->connect('127.0.0.1', 6379, 1.0, null, 0, null, 'password');
?>📌 String 类型操作
<?php
// 设置值
$redis->set('key', 'value');
$redis->setex('key', 60, 'value'); // 设置过期时间(秒)
// 获取值
$value = $redis->get('key');
// 自增/自减
$redis->incr('key'); // +1
$redis->incrBy('key', 10); // +10
$redis->decr('key'); // -1
$redis->decrBy('key', 10); // -10
// 删除
$redis->del('key');
?>📋 List 类型操作
<?php
// 左侧/右侧插入
$redis->lPush('mylist', 'value1');
$redis->rPush('mylist', 'value2');
// 获取列表
$items = $redis->lRange('mylist', 0, -1);
// 弹出元素
$redis->lPop('mylist'); // 左侧弹出
$redis->rPop('mylist'); // 右侧弹出
// 获取列表长度
$len = $redis->lLen('mylist');
?>🔑 Hash 类型操作
<?php
// 设置哈希字段
$redis->hSet('hashkey', 'field1', 'value1');
// 获取哈希字段
$value = $redis->hGet('hashkey', 'field1');
// 获取所有字段
$all = $redis->hGetAll('hashkey');
// 删除字段
$redis->hDel('hashkey', 'field1');
?>📦 Set 类型操作
<?php
// 添加成员
$redis->sAdd('setkey', 'member1');
$redis->sAdd('setkey', 'member2');
// 获取所有成员
$members = $redis->sMembers('setkey');
// 判断成员是否存在
$exists = $redis->sIsMember('setkey', 'member1');
// 删除成员
$redis->sRem('setkey', 'member1');
?>📊 Sorted Set 类型操作
<?php
// 添加成员(带分数)
$redis->zAdd('zsetkey', 100, 'member1');
$redis->zAdd('zsetkey', 200, 'member2');
// 按分数范围获取
$items = $redis->zRangeByScore('zsetkey', 0, 150);
// 获取排名
$rank = $redis->zRank('zsetkey', 'member1');
?>⏰ 过期时间管理
<?php
// 设置过期时间
$redis->expire('key', 60); // 60 秒后过期
// 查看剩余时间
$ttl = $redis->ttl('key');
// 移除过期时间
$redis->persist('key');
?>🔍 常用命令
CodeBlock Loading...
💡 最佳实践
- 连接池:在高并发场景使用连接池
- 过期时间:为临时数据设置合理的过期时间
- 批量操作:使用
pipeline进行批量操作提升性能 - 序列化:复杂数据使用
serialize()/unserialize()
整理:Hermes