Windows 下 ThinkPHP5 配置 redis 缓存

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: Windows 下 ThinkPHP5 配置 redis 缓存

最近再写一个小的学校论坛项目,项目是基于 Vue + ThinkPHP5 开发的,在开发过程中遇到一个小问题让我纠结了好久,就是如何实现用户给帖子点赞。

用户给帖子点赞是一个很细节的小功能,在刚开始学习 Web 编程的时候曾经尝试过实现这个功能但总是会莫名其妙的卡住,当时觉得不是问题太难应该是我还没有学习相关的知识,直到最近开发项目的时候才发现问题并没有那么简单,我已经掌握了基本的前后端和数据库的知识但是具体实践起来还是有些困难,于是就百度了一下在V2EX上找到了这样一篇帖子 小菜我准备写一个简单的论坛...,看了里面大佬的回复才发现原来还是知识体系不全面,如大佬所言要很好的实现点赞功能需要借助 redis 等缓存机制来完成快速的读写。

于是我又赶紧补习了一下关于 redis 的一下皮毛并进行了 WindowsThinkPHP5 配置 redis 缓存,过程中还是有几个小坑的,于是写下这篇文章记录一下:

1. 声明

本教程所配置的仅是 Windows 下的开发环境并非服务器环境若需要服务器环境配置请自行百度。

2. 安装 php 的 redis 和 igbinary 拓展

php_igbinary : 在序列化和反序列化的效率上高于其自带的
php_redis : 效率是相当高有链表排序功能

首先在 phpinfo 页面查看本机 php 版本

php版本信息

然后分别点击 redis 拓展下载地址igbinary 拓展下载地址 下载相应的拓展

下载完成后解压,将 php_redis.dllphp_igbinary.dll 拷贝至 phpext 目录下,修改 php.ini ,在该文件中加入

; php_redis  
extension=php_igbinary.dll  
extension=php_redis.dll  

3. 下载 redisWindows server

下载地址

下载,解压后得到文件夹重命名为 redis 并将得到的文件夹移动到任意你想放置的位置
打开一个 cmd 窗口 使用 cd 命令切换目录到 redis 目录下运行 redis-server.exe redis.windows.conf

redis运行

得到上图信息则说明安装成功,若出现错误提示请按照提示信息自行百度解决或再文章下留言我看到后会第一时间回复

但是问题又来了,关闭 cmd 窗口就会关闭 Redis ,难道要一直开着吗?这显然是不科学的,下面看怎么在设置为自动运行:

// 将 redis 设置为开机自动运行
redis-server --service-install redis.windows.conf
// 设置完成后运行 redis
redis-server --service-start

推荐一个可视化工具 Redis Desktop Manager

效果图

4. ThinkPHP5 配置 redis 缓存

ThinkPHP5config.php 修改缓存方式为 redis

配置图
使用方法参考 ThinkPHP5 开发手册缓存说明

以上,就完成了 WindowsThinkPHP5 配置 redis 缓存

溜了溜了,接着去开发了...

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
4天前
|
存储 消息中间件 缓存
Redis缓存技术详解
【5月更文挑战第6天】Redis是一款高性能内存数据结构存储系统,常用于缓存、消息队列、分布式锁等场景。其特点包括速度快(全内存存储)、丰富数据类型、持久化、发布/订阅、主从复制和分布式锁。优化策略包括选择合适数据类型、设置过期时间、使用Pipeline、开启持久化、监控调优及使用集群。通过这些手段,Redis能为系统提供高效稳定的服务。
|
10天前
|
存储 缓存 NoSQL
【Go语言专栏】Go语言中的Redis操作与缓存应用
【4月更文挑战第30天】本文探讨了在Go语言中使用Redis进行操作和缓存应用的方法。文章介绍了Redis作为高性能键值存储系统,用于提升应用性能。推荐使用`go-redis/redis`库,示例代码展示了连接、设置、获取和删除键值对的基本操作。文章还详细阐述了缓存应用的步骤及常见缓存策略,包括缓存穿透、缓存击穿和缓存雪崩的解决方案。利用Redis和合适策略可有效优化应用性能。
|
13天前
|
存储 缓存 NoSQL
Redis多级缓存指南:从前端到后端全方位优化!
本文探讨了现代互联网应用中,多级缓存的重要性,特别是Redis在缓存中间件的角色。多级缓存能提升数据访问速度、系统稳定性和可扩展性,减少数据库压力,并允许灵活的缓存策略。浏览器本地内存缓存和磁盘缓存分别优化了短期数据和静态资源的存储,而服务端本地内存缓存和网络内存缓存(如Redis)则提供了高速访问和分布式系统的解决方案。服务器本地磁盘缓存因I/O性能瓶颈和复杂管理而不推荐用于缓存,强调了内存和网络缓存的优越性。
40 1
|
1天前
|
并行计算 Windows
23.10.02更新 Windows下CUDA和CUDNN的安装和配置(图多详细)
23.10.02更新 Windows下CUDA和CUDNN的安装和配置(图多详细)
10 1
|
1天前
|
缓存 NoSQL 搜索推荐
Redis缓存雪崩穿透等解决方案
本文讨论了缓存使用中可能出现的问题及其解决方案。首先,缓存穿透是指查询数据库中不存在的数据,导致请求频繁到达数据库。解决方法包括数据校验、缓存空值和使用BloomFilter。其次,缓存击穿是大量请求同一失效缓存项,可采取监控、限流或加锁策略。再者,缓存雪崩是大量缓存同时失效,引发数据库压力。应对措施是避免同一失效时间,分散缓存过期。接着,文章介绍了Spring Boot中Redis缓存的配置,包括缓存null值以防止穿透,并展示了自定义缓存过期时间的实现,以避免雪崩效应。最后,提供了在`application.yml`中配置不同缓存项的个性化过期时间的方法。
|
1天前
|
消息中间件 缓存 NoSQL
Redis经典问题:缓存雪崩
本文介绍了Redis缓存雪崩问题及其解决方案。缓存雪崩是指大量缓存同一时间失效,导致请求涌入数据库,可能造成系统崩溃。解决方法包括:1) 使用Redis主从复制和哨兵机制提高高可用性;2) 结合本地ehcache缓存和Hystrix限流降级策略;3) 设置随机过期时间避免同一时刻大量缓存失效;4) 使用缓存标记策略,在标记失效时更新数据缓存;5) 实施多级缓存策略,如一级缓存失效时由二级缓存更新;6) 通过第三方插件如RocketMQ自动更新缓存。这些策略有助于保障系统的稳定运行。
96 1
|
2天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
14 0
|
5天前
|
缓存 监控 NoSQL
Redis缓存雪崩及应对策略
缓存雪崩是分布式系统中一个常见但危险的问题,可以通过合理的缓存策略和系统设计来降低发生的概率。采用多层次的缓存架构、缓存预热、合理的缓存失效时间等措施,都可以有效应对缓存雪崩,提高系统的稳定性和性能。在实际应用中,及时发现并解决潜在的缓存雪崩问题,是保障系统可用性的关键一环。
35 14
|
6天前
|
Oracle Java 关系型数据库
windows 下 win11 JDK17安装与环境变量的配置(配置简单详细,包含IJ中java文件如何使用命令运行)
本文介绍了Windows 11中安装JDK 17的步骤,包括从官方网站下载JDK、配置环境变量以及验证安装是否成功。首先,下载JDK 17的安装文件,如果没有Oracle账户,可以直接解压缩文件到指定目录。接着,配置系统环境变量,新建`JAVA_HOME`变量指向JDK安装路径,并在`Path`变量中添加。然后,通过命令行(cmd)验证安装,分别输入`java -version`和`javac -version`检查版本信息。最后,作者分享了如何在任意位置运行Java代码,包括在IntelliJ IDEA(IJ)中创建的Java文件,只需去掉包声明,就可以通过命令行直接运行。
|
8天前
|
缓存 NoSQL Java
优化Redis缓存:解决性能瓶颈和容量限制
优化Redis缓存:解决性能瓶颈和容量限制
19 0