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
目录
相关文章
|
1天前
|
NoSQL Linux Redis
Centos7 安装和配置 Redis 5 教程
在Centos上安装Redis 5,如果是 Centos8,那么 yum 仓库中默认的 redis 版本就是 5,直接 yum install 即可。
15 0
|
3天前
|
存储 缓存 监控
利用Redis构建高性能的缓存系统
在现代Web应用中,性能优化是提升用户体验和响应速度的关键。Redis作为一款开源的内存数据结构存储系统,因其出色的性能、丰富的数据结构和灵活的使用方式,成为了构建高性能缓存系统的首选工具。本文将探讨Redis在缓存系统中的应用,分析其优势,并通过实例展示如何结合Redis构建高效、可靠的缓存系统,以应对高并发、大数据量等挑战。
|
7天前
|
缓存 NoSQL Redis
【后端面经】【缓存】36|Redis 单线程:为什么 Redis 用单线程而 Memcached 用多线程?-- Redis多线程
【5月更文挑战第21天】Redis启用多线程后,主线程负责接收事件和命令执行,IO线程处理读写数据。请求处理流程中,主线程接收客户端请求,IO线程读取并解析命令,主线程执行后写回响应。业界普遍认为,除非必要,否则不建议启用多线程模式,因单线程性能已能满足多数需求。公司实际场景中,启用多线程使QPS提升约50%,或选择使用Redis Cluster以提升性能和可用性。
15 0
|
8天前
|
NoSQL Redis 数据库
【后端面经】【缓存】36|Redis 单线程:为什么 Redis 用单线程而 Memcached 用多线程?-- Memcache + Redis 多线程
【5月更文挑战第20天】Redis采用单线程模式以避免上下文切换和资源竞争,简化调试,且其性能瓶颈在于网络IO和内存,而非多线程。相比之下,Memcache使用多线程能更好地利用多核CPU,但伴随上下文切换和锁管理的开销。尽管Redis单线程性能不俗,6.0版本引入多线程以提升高并发下的IO处理能力。启用多线程后,Redis结合Reactor和epoll实现并发处理,提高系统性能。
29 0
|
9天前
|
缓存 NoSQL 中间件
【后端面经】【缓存】36|Redis 单线程:为什么 Redis 用单线程而 Memcached 用多线程?epoll、poll和select + Reactor模式
【5月更文挑战第19天】`epoll`、`poll`和`select`是Linux下多路复用IO的三种方式。`select`需要主动调用检查文件描述符,而`epoll`能实现回调,即使不调用`epoll_wait`也能处理就绪事件。`poll`与`select`类似,但支持更多文件描述符。面试时,重点讲解`epoll`的高效性和`Reactor`模式,该模式包括一个分发器和多个处理器,用于处理连接和读写事件。Redis采用单线程模型结合`epoll`的Reactor模式,确保高性能。在Redis 6.0后引入多线程,但基本原理保持不变。
27 2
|
10天前
|
缓存 NoSQL Redis
【后端面经】【缓存】36|Redis 单线程:为什么 Redis 用单线程而 Memcached 用多线程?--epoll调用和中断
【5月更文挑战第18天】`epoll`包含红黑树和就绪列表,用于高效管理文件描述符。关键系统调用有3个:`epoll_create()`创建epoll结构,`epoll_ctl()`添加/删除/修改文件描述符,`epoll_wait()`获取就绪文件描述符。`epoll_wait()`可设置超时时间(-1阻塞,0立即返回,正数等待指定时间)。当文件描述符满足条件(如数据到达)时,通过中断机制(如网卡或时钟中断)更新就绪列表,唤醒等待的进程。
38 6
|
11天前
|
NoSQL Redis 缓存
【后端面经】【缓存】36|Redis 单线程:为什么 Redis 用单线程而 Memcached 用多线程?
【5月更文挑战第17天】Redis常被称为单线程,但实际上其在处理命令时采用单线程,但在6.0后IO变为多线程。持久化和数据同步等任务由额外线程处理,因此严格来说Redis是多线程的。面试时需理解Redis的IO模型,如epoll和Reactor模式,以及其内存操作带来的高性能。Redis使用epoll进行高效文件描述符管理,实现高性能的网络IO。在讨论Redis与Memcached的线程模型差异时,应强调Redis的单线程模型如何通过内存操作和高效IO实现高性能。
39 7
【后端面经】【缓存】36|Redis 单线程:为什么 Redis 用单线程而 Memcached 用多线程?
|
14天前
|
缓存 NoSQL 关系型数据库
【Redis】Redis 缓存重点解析
【Redis】Redis 缓存重点解析
30 0
|
14天前
|
缓存 NoSQL 关系型数据库
【Redis】Redis作为缓存
【Redis】Redis作为缓存
15 0
|
14天前
|
存储 缓存 监控
利用Redis构建高性能的缓存系统
在现今高负载、高并发的互联网应用中,缓存系统的重要性不言而喻。Redis,作为一款开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息代理。本文将深入探讨Redis的核心特性,以及如何利用Redis构建高性能的缓存系统,并通过实际案例展示Redis在提升系统性能方面的巨大潜力。