作者文章

fwq

FWQ
服务器教程
redis发布和订阅_动力节点Java学院整理
redis发布和订阅_动力节点Java学院整理 收藏 对于一个数据库开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《redis发布和订阅_动力节点Java学院整理》,主要介绍了订阅、redis发布,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了! Redis 的 pub sub实现了邮件系统,发送者(在 Redis 术语中被称为发布者)发送的邮件,而接收器(用户)接收它们。由该消息传送的链路被称为信道。 Redis客户端可以订阅任何数目的通道。 例子 以下举例说明如何发布用户的概念工作。在下面的例子给出一个客户端订阅一个通道名为redisChat redis 127.0.0.1:6379> SUBSCRIBE redisChat Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "redisChat" 3) (integer)…
2025-05-10 阅读全文 →
FWQ
服务器教程
Redis设置密码保护的实例讲解
Redis设置密码保护的实例讲解 收藏 亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《Redis设置密码保护的实例讲解》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下保护、Redis密码,希望所有认真读完的童鞋们,都有实质性的提高。 Redis安装好了之后,默认是没有密码保护的,为了安全要设置密码保护。 在客户端登录本地的192.168.56.56服务器 [root@shanxi src]# ./redis-cli 查看密码,当前密码为空 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "" 设置密码为 aabbcc 127.0.0.1:6379> config set requirepass "aabbcc" OK 再次查看密码,显示权限不足,需要重新登录 127.0.0.1:6379> config…
2025-05-10 阅读全文 →
FWQ
服务器教程
k8s部署redis cluster集群的实现
k8s部署redis cluster集群的实现 收藏 亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《k8s部署redis cluster集群的实现》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下Redis、K8s部署、cluster,希望所有认真读完的童鞋们,都有实质性的提高。 Redis 介绍 Redis代表REmote DIctionary Server是一种开源的内存中数据存储,通常用作数据库,缓存或消息代理。它可以存储和操作高级数据类型,例如列表,地图,集合和排序集合。 由于Redis接受多种格式的密钥,因此可以在服务器上执行操作,从而减少了客户端的工作量。 它仅将磁盘用于持久性,而将数据完全保存在内存中。 Redis是一种流行的数据存储解决方案,并被GitHub,Pinterest,Snapchat,Twitter,StackOverflow,Flickr等技术巨头所使用。 为什么要用Redis 它的速度非常快。它是用ANSI C编写的,并且可以在POSIX系统上运行,例如Linux,Mac OS X和Solaris。 Redis通常被排名为最流行的键/值数据库和最流行的与容器一起使用的NoSQL数据库。 其缓存解决方案减少了对云数据库后端的调用次数。 应用程序可以通过其客户端API库对其进行访问。 所有流行的编程语言都支持Redis。 它是开源且稳定的。 什么是Redis Cluster集群 Redis Cluster是一组Redis实例,旨在通过对数据库进行分区来扩展数据库,从而使其更具弹性。 群集中的每个成员(无论是主副本还是辅助副本)都管理哈希槽的子集。如果主机无法访问,则其从机将升级为主机。在由三个主节点组成的最小Redis群集中,每个主节点都有一个从节点(以实现最小的故障转移),每个主节点都分配有一个介于0到16,383之间的哈希槽范围。节点A包含从0到5000的哈希槽,节点B从5001到10000,节点C从10001到16383。…
2025-05-10 阅读全文 →
FWQ
服务器教程
Redis慢查询日志与监视器问题
Redis慢查询日志与监视器问题 收藏 大家好,今天本人给大家带来文章《Redis慢查询日志与监视器问题》,文中内容主要涉及到日志、Redis慢查询、监视器,如果你对数据库方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢! 我们都知道MySQL有慢查询日志 Redis也有慢查询日志,可用于监视和优化查询 1、慢查询设置 在redis.conf中可以配置和慢查询日志相关的选项: #执行时间超过多少微秒的命令请求会被记录到日志上 0 :全记录 Redis使用列表存储慢查询日志,采用队列方式(FIFO) config set的方式可以临时设置,redis重启后就无效 config set slowlog-log-slower-than 微秒 config set slowlog-max-len 条数 查看日志:slowlog get [n] 127.0.0.1:6379> config set slowlog-log-slower-than…
2025-05-10 阅读全文 →
FWQ
服务器教程
基于Redis实现阻塞队列的方式
基于Redis实现阻塞队列的方式 收藏 IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《基于Redis实现阻塞队列的方式》,聊聊Redis阻塞队列,我们一起来看看吧! 日常需求开发过程中,不免会遇到需要通过代码进行异步处理的情况,比如批量发送邮件,批量发送短信,数据导入,为了减少用户的等待,不希望一直菊花转啊转,因此需要进行异步处理,做法就是讲要处理的数据添加到队列当中,然后按照排队的先后顺序进行异步处理。 这个队列,可以是专业的消息队列,如 RocketMQ/RabbitMQ 等,一般项目中,如果只是为了进行异步,未免有点杀鸡用牛刀的意味。 也可以使用基于 JVM 内存实现队列,但是如果项目进行了重启,就会造成队列数据丢失。 大部分的项目都会用到 Redis 中间件作为缓存使用,此时使用 Redis 的 list 结构来实现队列则是非常合适的选择。 因此,本文主要讲解基于 Redis 的方式实现异步队列。 本文首发个人技术博客: 基于 Redis 的 list 实现队列的方式也有多种,先说第一种不推荐的方式,即使用LPUSH生产消息,然后 while(true) 中通过RPOP消费消息,这种方式的确可以实现,但是不断代码不断的轮询,势必会消耗一些系统的资源。…
2025-05-10 阅读全文 →
FWQ
服务器教程
Redis解决库存超卖问题实例讲解
Redis解决库存超卖问题实例讲解 收藏 IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《Redis解决库存超卖问题实例讲解》,聊聊RedisMySQL,我们一起来看看吧! 商品和订单服务间使用MQ 商品服务的库存变化时,通过 MQ 通知订单服务库存变化。 原始的同步流程 查询商品信息 (调用商品服务) 计算总价(生成订单详情) 商品服务扣库存(调用商品服务) 订单入库( 生成订单) // 原始的MySQL同步流程 // 判断此代金券是否加入抢购 SeckillVouchers seckillVouchers = seckillVouchersMapper.selectVoucher(voucherId); AssertUtil.isTrue(seckillVouchers == null, "该代金券并未有抢购活动"); // 判断是否有效…
2025-05-10 阅读全文 →
FWQ
服务器教程
利用Redis和JavaScript构建实时通讯应用:如何处理用户连接
利用Redis和JavaScript构建实时通讯应用:如何处理用户连接 在数据库实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《利用Redis和JavaScript构建实时通讯应用:如何处理用户连接》,聊聊,希望可以帮助到正在努力赚钱的你。 利用Redis和JavaScript构建实时通讯应用:如何处理用户连接 随着互联网的迅速发展,实时通讯应用的需求越来越多。利用Redis和JavaScript可以很好地构建实时通讯应用,实现实时消息收发、在线用户管理等功能。本文将介绍如何利用Redis和JavaScript处理用户连接,实现实时通讯应用。 安装和配置Redis 首先,我们需要安装和配置Redis服务器。可以从Redis官方网站 (https://redis.io/download) 下载适合你的操作系统的Redis安装包,然后按照官方文档进行安装和配置。 创建JavaScript文件 接下来,创建一个JavaScript文件来处理用户连接。我们使用Node.js作为后端环境,所以需要先安装Node.js (https://nodejs.org/)。 在创建的JavaScript文件中,首先引入所需的模块: const express = require('express'); const http = require('http'); const socketio = require('socket.io'); 然后,创建Express应用,用于处理HTTP请求: const app =…
2025-05-10 阅读全文 →
FWQ
服务器教程
Redis 缓存实现存储和读取历史搜索关键字的操作方法
Redis 缓存实现存储和读取历史搜索关键字的操作方法 收藏 怎么入门数据库编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《Redis 缓存实现存储和读取历史搜索关键字的操作方法》,涉及到关键字、redis缓存,有需要的可以收藏一下 一、本案例涉及知识  Layui Redis Vue.js jQuery Ajax 二、效果图 三、功能实现 (一)使用 Layui 的样式构建页面 Redis应用 - 搜索历史 搜索 搜索历史 PHP JavaScript (二)点击搜索时储存本次搜索的关键字 给文本框添加 Vue 双向绑定 给搜索按钮添加点击事件…
2025-05-10 阅读全文 →
FWQ
服务器教程
如何搭建Redis高可用架构?
如何搭建Redis高可用架构? 收藏 从现在开始,我们要努力学习啦!今天我给大家带来《如何搭建Redis高可用架构?》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习! 持久化机制 在理解集群架构前,先要介绍一下redis的持久化机制,因为在后面的集群中会涉及到持久化。redis持久化是将缓存在内存中的数据根据一些规则进行落盘,以防止在redis服务宕机时可以进行数据恢复或者是集群架构中进行主从节点数据同步。redis持久化的方式有RDB和AOF两种,在4.0版本后新出了混合持久化模式。 RDB RDB是redis默认开启的持久化机制,其持久化方式是按照用户配置的规则"X秒内至少发生过Y次改动",生成快照并落盘到dump.rdb二进制文件中。默认情况下,redis配置了三种,分别为900秒内至少发生过1次缓存key的改动,300秒内至少发生过10次缓存key的改动以及60秒内至少发生过10000次改动。 除了redis自动快照持久化数据外,还有两个命令可以帮助我们手动进行内存数据快照,这两个命令分别为save和bgsave。 save:以同步的方式进行数据快照,当缓存数据量大,会阻塞其他命令的执行,效率不高。 bgsave:以异步的方式进行数据快照,有redis主线程fork出一个子进程来进行数据快照,不会阻塞其他命令的执行,效率较高。由于是采用异步快照的方式,那么就有可能发生在快照的过程中,有其他命令对数据进行了修改。为了避免这个问题reids采用了写时复制(Cpoy-On-Write)的方式,因为此时进行快照的进程是由主线程fork出来的,所以享有主线程的资源,当快照过程中发生数据改动时,那么该数据会被复制一份并生成副本数据,子进程会将改副本数据写入到dump.rdb文件中。 RDB快照是以二进制的方式进行存储的,所以在数据恢复时,速度会比较快,但是它存在数据丢失的风险。假如设置的快照规则为60秒内至少发生100次数据改动,那么在50秒时,redis服务由于某种原因突然宕机了,那在这50秒内的所有数据将会丢失。 AOF AOF是Redis的另一种持久化方式,与RDB不同时是,AOF记录着每一条更改数据的命令并保存到磁盘下的appendonly.aof文件中,当redis服务重启时,会加载该文将并再次执行文件中保存的命令,从而达到数据恢复的效果。默认情况下,AOF是关闭的,可以通过修改conf配置文件来进行开启。  # appendonly no  关闭AOF持久化  appendonly yes   # 开启AOF持久化  # The name of the append only file (default: "appendonly.aof")  appendfilename "appendonly.aof" # 持久化文件名 AOF提供了三种方式,可以让命令保存到磁盘。默认情况下,AOF采用appendfsync everysec的方式进行命令持久化。 appendfsync always #每次有新的改写命令时,都会追加到磁盘的aof文件中。数据安全性最高,但效率最慢。 appendfsync everysec # 每一秒,都会将改写命令追加到磁盘中的aof文件中。如果发生宕机,也只会丢失1秒的数据。 appendfsync no #不会主动进行命令落盘,而是由操作系统决定什么时候写入到磁盘。数据安全性不高。 开启AOF后需要重新启动redis服务,当再次执行相关改写命令时,aof文件中会记录操作的命令。 相对于RDB,虽然AOF的数据安全性更高,但是随着服务的持续运行,aof的文件也会越来越大,等到下次恢复数据时,速度会越来越慢。如果RDB和AOF都开启,在恢复数据时,redis会优先选择AOF,毕竟AOF丢失的数据更少啊。 RDB AOF 恢复效率 高…
2025-05-10 阅读全文 →
FWQ
服务器教程
浅谈redis在项目中的应用
浅谈redis在项目中的应用 收藏 对于一个数据库开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《浅谈redis在项目中的应用》,主要介绍了Redis,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了! redis在项目中的应用 ps:PHP 会自动 关redis连接 不需要手动关 对于临时的数据 可以不经过数据库直接redis上操作 /*消息队列实例 */ public function insertinfo(){ //连接本地的 Redis 服务 $redis = new \Redis(); $redis->connect('127.0.0.1', 6379); //存储数据到列表中 $infos = array('info1'…
2025-05-10 阅读全文 →