Redis实战之购物车
传统的购物车实现有很多种方式,如session,cookie,数据库等,这几种方式实现各有优缺点,网上的文章太多了,这里就不一一阐述。 今天给大家分享的是Redis实现购物车功能,众所周知Redis相当于一个内存数据库,可以用来做缓存,存储数据等。写到这里学计算机都知道,内存(RAM)当出现断电数据就会丢失。这可能是Redis做购物车的最大缺点吧,不过这里可以通过配置RDB/AOF使Redis实现持久化,关于他们两个的区别,可以参照这篇文章
配置AOF使数据持久化
修改redis配置文件redis.conf
cd /usr/local/redis
vim redis.conf
将appendonly no
改成appendonly yes
确认 appendfsync everysec(每秒同步数据)
这里我们只简单修改了两项配置,更多配置参照这篇文章
接下来验证数据持久化是否配置成功
1.重启redis服务器
pkill -9 redis
cd /usr/local/redis/bin
./redis-server ../redis.conf
在bin目录下查看是否生成appendonly.aof
文件
2.连接一个redis客户端
cd /usr/local/redis/bin
./redis-cli
写入几条数据并清除
3.redis服务器查看 appendonly.aof
生成如下内容
这个文件是用于数据恢复的 我们将最后一行代码 flushall删掉接下来重启redis看看数据能否恢复
pkill -9 redis
cd /usr/lcoal/redis/bin
./redis-server ../redis.conf
连接一个客户端尝试获取先前设置的值
可见数据恢复成功
实现购物车功能
//购物车添加
public function store(Request $request){
$hashKey = "user_".Auth::id();
$key = "goodd_".$request->gid;
$goods = ["gid"=>$key,"gtitle"=>$request->gtitle,"gprice"=>$request->gprice,"gcover"=>$request->gcover,"gnum"=>$request->gnum];
$res = Redis::hSet($hashKey,$key,json_encode($goods));
}
这里我用到是redis hash数据类型 将 user+登录用户id作为hashkey,goodd+商品id作为key,key对应的值则是关于商品的一些信息
//购物车读取
public function index(){
return response()->json(["cars"=>json_encode(Redis::hGetAll('user_'.Auth::id()))]);
}
购物车读取功能比较简单,直接查询该用户的id对应的hashkey即可得到商品信息
购物车删除 购物车修改 待添加
相关文章
- Redis运维:常用指令实战(redis运维常用命令)
- Redis实战:一步一脚印走向专业的第二版(redis实战第二版)
- Redis性能拖累企业数据处理速度(redis速度慢)
- 清理缓存:重新开始Redis之旅(清空redis缓存)
- 『解除Redis容量上限,超出极限』(redis数量上限)
- Redis 实战:一本让你快速掌握 Redis 技术的书籍(redis实战书籍)
- 提升效率:Redis高级配置实战(redis高级配置)
- docker用Docker构建Redis集群的步骤(redis集群使用)
- 盛派SDK助力Redis高效存储(盛派sdk redis)
- 秒杀下单基于Redis实现电商购物车(电商购物车redis实现)
- Redis消息队列开发实战篇(消息队列实战redis)
- Redis服务器连接实战命令操作入门(服务器redis命令连接)
- 让数据库与Redis实现无缝同步(数据库数据同步redis)
- Redis数据库入门教学视频学习实战指导一步到位(数据库redis教学视频)
- 瞬间提升工作效率Redis数据提取技巧(提取redis数据)
- 系统构建缓存系统为何选择Redis(为啥用redis构建缓存)
- 因Redis令缓存运算更快(为什么redis快)
- 一台机器上多重Redis实例运行(一个redis起多个实例)
- TP5中使用Redis的简单方法(tp5中怎么用redis)
- 搭建集实时高效的全文检索系统,Solr加Redis实现卓越结果(solr加redis)
- Redis分布式锁实战以实例为鉴(分布式锁redis例子)
- Redis开发实战在大厂里的挑战与激情(大厂redis开发实战)
- 深度挖掘大厂Redis实战(大厂redis实战)
- 多线程优化Redis连接池(多线程 redis连接池)
- Redis高级应用从PDF到实际实战(redis高级 pdf)
- Redis面试突击训练实战视频教程(redis面试视频教学)
- Redis面试实战拿下你的梦想职位(redis面试实战)
- Redis集群的操作实战了解更多运维工具(redis集群操作实例)
- 基于SSM架构集成Redis实现高效缓存管理(ssm集成redis实战)
- Redis 将限时过期变成规律的活动(redis过期回调了多次)
- 基于Redis实现购物车系统轻则无缺点,重则大忧(redis 购物车 缺点)
- 利用Redis实现购物车持久化(redis 购物车持久化)
- 利用Redis请求数据的完整流程(redis请求 流程)
- Redis实现订单信息的高效管理(redis 订单列表)
- 究竟Redis是否能够精准计数(redis计数准确吗)
- Redis从解压到安装(redis 解压安装)