
laravel redis 相关命令
发布日期:2025-04-04 02:50:18
浏览次数:12
分类:精选文章
本文共 3066 字,大约阅读时间需要 10 分钟。
Redis 是一个高性能的开源数据库,支持多种数据结构和操作。通过 Laravel 的 Redis 门面,开发者可以轻松地与 Redis 数据库交互,进行常见的操作定义。以下是关于 Redis 门面的一些详细信息和操作示例。
Redis 概述
Redis 是一个基于内存的数据结构存储解决方案,支持字符串、列表、哈希、集合和有序集合等多种数据类型。在 Laravel 中,Redis 门面通过 app('redis.connection')
提供默认的 Redis 连接对象,有些项目可能会定义多个 Redis 连接对象。
配置选项
Laravel 提供多种 Redis 配置选项,例如:
生成连接对象
默认连接对象名为 default
,通过 app('redis.connection')
获取。用户可以自定义连接对象名,例如:
$redis = app('redis.connection');$myConnection = $redis->connection('mydefine');
连接参数
配置文件中的 redis
数组参数包括:
client
:Redis 客户端类型,默认为predis
。default
:默认 Redis 连接配置,包含host
、password
、port
和database
等参数。mydefine
:用户定义的 Redis 连接配置。clusters
:Redis 集群配置。
集群支持
通过配置 clusters
,可以创建多个 Redis 集群。例如:
'redis' => [ 'client' => 'predis', 'clusters' => [ 'mycluster1' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), ], // 其他集群配置... ],],
使用示例
简单入门级操作
Set 操作
$redis = app('redis.connection');$redis->set('library', 'predis');$redis->get('library'); // 获取存储的值
Set 多个 Key-Value
$mkv = [ 'usr:0001' => 'First user', 'usr:0002' => 'Second user', 'usr:0003' => 'Third user',];$redis->mset($mkv);$retval = $redis->mget(array_keys($mkv));
Set 存储时效性
$redis->setex('library', 10, 'predis'); // 有效时长为 10 秒$redis->setnx('foo', 12); // 添加成功$redis->setnx('foo', 34); // 添加失败
检测和删除
$redis->exists('foo'); // 检测 Key 是否存在$redis->del('foo'); // 删除 Key
常用操作
字符串操作
$redis->append('str', '_123'); // 将字符串连接到现有字符串末尾$redis->setrange('str', 0, 'abc'); // 替换字符串的某一部分$redis->substr('str', 0, 2); // 提取字符串的前部分$redis->strlen('str'); // 获取字符串长度
列表操作
$redis->rpush('fooList', 'bar1');$redis->lpush('fooList', 'bar0');$redis->rpoplpush('fooList', 'barTwo'); // 从一个队列弹出并推送到另一个队列$redis->ltrim('fooList', 0, 1); // 删除从队列头部开始的若干元素
集合操作
$redis->sadd('set1', 'ab');$redis->srem('set1', 'cd');$redis->spop('set1'); // 弹出集合中的第一个元素$redis->smembers('set1'); // 获取集合中的所有元素
有序集合操作
$redis->zadd('zset1', 1, 'ab');$redis->zadd('zset1', 2, 'cd');$redis->zrevrange('zset1', 0, -1); // 获取并反序排序$redis->zcount('zset1', 3, 5); // 统计索引范围内的元素个数
哈希操作
$redis->hset('hash1', 'key1', 'v1');$redis->hget('hash1', 'key1'); // 获取哈希表中的值$redis->hlen('hash1'); // 获取哈希表中的键值对个数$redis->hincrby('hash1', 'key5', 3); // 对哈希表中的值进行增加
排序操作
$redis->rpush('tab', 3);$redis->rpush('tab', 2);$redis->rpush('tab', 17);$redis->sort('tab'); // 按升序排序$redis->sort('tab', ['sort' => 'desc']); // 按降序排序
Redis 管理操作
信息查看
$redis->info(); // 查看 Redis 的状态信息
数据库操作
$redis->select(4); // 选择数据库编号$redis->flushdb(); // 清空当前数据库
从服务器和备份
$redis->slaveof('127.0.0.1', 80); // 将当前 Redis 服务器作为从服务器$redis->save(); // 异步备份数据到磁盘$redis->bgsave(); // 异步背景备份
其他操作
关键字操作
- 使用
*
可以匹配任意字符串的前缀,例如keys('foo*')
可以匹配foo1
和foo2
。 ?
匹配任意单个字符,例如keys('f?o?')
可以匹配foo1
和foo2
。
随机操作
$redis->randomkey(); // 随机返回一个键$redis->blpop('list3', 10); // 阻塞等待队列不为空,弹出队列的第一个元素
消息队列操作
$redis->lpop('queue'); // 弹出队列中的第一个元素$redis->lrem('queue', 1, '_'); // 从队列头部删除指定数量的字符$redis->ltrim('queue', 0, 1); // 删除队列中从左边的若干条记录
通过以上操作,可以全面了解和使用 Redis 门面在 Laravel 应用中提供的功能。 Redis 提供的丰富数据结构和操作使其成为常用数据存储解决方案。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月30日 06时40分55秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Kubernetes实战(三十一)-Calico网络部署(推荐)
2023-01-29
Kubernetes实战(三十三)-外部Etcd集群部署与调优(更安全的数据存储策略)
2023-01-29
Kubernetes实战(三)-定向调度(NodeSelector)
2023-01-29
Kubernetes实战(二十九)-集群资源管理(CPU & Memory)
2023-01-29
Kubernetes实战(二十二)-Etcd 集群部署(安全)
2023-01-29
Kubernetes实战(二十八)-环境共享与隔离(Namespace)
2023-01-29
Kubernetes实战(十五)-敏感数据管理(Secret)
2023-01-29
Kubernetes实战(十八)-共享卷子路径划分(Subpath)
2023-01-29
Kubernetes实战(十)-升级和回滚(Deployment)
2023-01-29
Kubernetes对接Ceph存储实现云原生持久化
2023-01-29
Kubernetes对象Service详解
2023-01-29
kubernetes常用工具
2023-01-29
Kubernetes快速上手:部署、使用及核心概念解析
2023-01-29
Kubernetes故障排查与面试汇总
2023-01-29
Kubernetes故障排查实战
2023-01-29
kubernetes混合云平台运维实战项目分享
2023-01-29
Kubernetes灰度发布实战:滚动更新的奥秘与策略,带你领略无缝升级的艺术
2023-01-29