技术亮点:原子性保证 | 万级QPS | 零超卖风险
2025年05月07日
经常会遇到需要在项目中处理并发的情况。今天就用redis来处理并发,解决电商项目中的库存超卖常见需求。
电商网站需要处理高并发的购买请求,每个请求都会减少对应商品的库存数量。为了避免库存超卖,我们需要确保库存更新的原子性和一致性。
2025年05月07日
乐观锁顾名思义就是在读取数据的时候保持乐观,不对数据加锁,写的时候判断数据是否被改变,如果被改变则重新尝试。
悲观锁就是在读取数据的时候就对数据加锁,修改完成释放锁。
乐观锁适用于读多的场景,悲观锁适用于写多的场景。
2025年05月07日
以下是 PHP 中调用 Redis 常用命令的代码示例:
<?php
// 连接 Redis 服务器
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// 设置键值对
$redis->set('key', 'value');
// 获取键值
$value = $redis->get('key');
// 判断键是否存在
$exists = $redis->exists('key');
// 删除键
$redis->delete('key');
// 将元素加入列表左侧
$redis->lpush('list', 'value1');
$redis->lpush('list', 'value2');
// 获取列表长度
$length = $redis->llen('list');
// 获取列表元素
$value = $redis->lpop('list');
// 将元素加入集合
$redis->sadd('set', 'value1');
$redis->sadd('set', 'value2');
// 获取集合元素数量
$count = $redis->scard('set');
// 判断元素是否在集合中
$is_member = $redis->sismember('set', 'value1');
// 删除集合元素
$redis->srem('set', 'value1');
// 将元素加入有序集合
$redis->zadd('zset', 1, 'value1');
$redis->zadd('zset', 2, 'value2');
// 获取有序集合元素数量
$count = $redis->zcard('zset');
// 获取有序集合元素排名
$rank = $redis->zrank('zset', 'value1');
// 删除有序集合元素
$redis->zrem('zset', 'value1');
2025年05月07日
教程环境:linux
下载扩展包:
http://pecl.php.net/package/redis
跳转到链接后,选一个合适版本下载,一般选择最新的即可
1、解压扩展包
2025年05月07日
本篇文章主要给大家介绍Windows下PHP安装Redis扩展的具体步骤方法。
Redis扩展下载地址:
https://windows.php.net/downloads/pecl/releases/redis/
推荐参考学习:《Redis教程》
下面我们就结合详细的图文,给大家介绍Windows下PHP安装Redis扩展