最近作了一个实时游戏,后端nodejs+mongodb+redis socket.io;socket.io是nodejs的websocket的最好的后端插件了,基本上社区都在用都在讨论;四万多颗星了,https://github.com/socketio/socket.io 。我的理解因为它良好的兼容性易用性完全是websocket的集大成者;本身是在nodejs里发源的,但也有不少语言版本;so
转载 2023-08-30 09:20:32
65阅读
# satoken 不使用 Redis 的原理与示例 ## 概述 Redis 是一个高性能的 key-value 存储系统,被广泛用于缓存、会话管理和分布式锁等场景。然而,有时我们希望在不依赖 Redis 的情况下实现类似的功能。本文将介绍如何使用 satoken 库来实现不依赖 Redis 的 token 管理,并提供代码示例。 ## satoken 简介 [satoken]( 是一个轻
原创 2023-11-28 12:23:27
1364阅读
Redis 为什么用跳表而不用平衡树?本文是《Redis内部数据结构详解》系列的第六篇。在本文中,我们围绕一个Redis的内部数据结构——skiplist展开讨论。Redis里面使用skiplist是为了实现sorted set这种对外的数据结构。sorted set提供的操作非常丰富,可以满足非常多的应用场景。这也意味着,sorted set相对来说实现比较复杂。同时,skiplist这种数据结
转载 8月前
19阅读
# Redis 不使用 Swap 的实现指南 在这篇文章中,我们将讨论如何确保 Redis 在运行过程中不使用 swap。这对于提高 Redis 的性能至关重要,因为使用 swap 会严重影响数据访问速度和响应时间。我们将通过一个系统化的流程来实现这一目标。 ## 处理流程图 | 步骤 | 描述
原创 8月前
49阅读
## 使用Session不依赖Redis的实现方法 作为一名经验丰富的开发者,很高兴能够帮助你解决这个问题。在本文中,我将向你介绍一种不依赖Redis的实现方法来使用Session。 ### 1. 概述 在开始之前,我们需要了解一下Session的概念和工作原理。Session是一种用于存储用户会话信息的机制,用于跟踪用户的状态。在Web开发中,Session通常依赖于某种持久化存储来存储会
原创 2023-07-25 17:50:12
103阅读
前言Redis是一种K-V数据库,它的数据也可以进行持久化操作。因为redis的数据都保存在内存中,如果不进行及时的持久化,可能就会因为重启导致数据的丢失。这时候就需要对redis进行持久化操作,将数据保存在磁盘上。redis提供了两种持久化方式,分别是AOF和RDB。下面分别对这里持久化方式进行解析。1.RDBRDB是将redis 的数据生成快照保存在磁盘上。RDB有多种实现方式,
转载 2024-09-19 06:50:29
43阅读
读写Channel(READ)的创建和注册在NioEventLoop#run中提到,当有IO事件时,会调用processSelectedKeys方法来处理。当客户端连接服务端,会触发服务端的ACCEPT事件,创建负责READ事件的channel并注册到workerGroup中跟踪processSelectedKeys的调用NioEventLoop#processSelectedKeys() --&
1、问题概述不是所有的项目都是单机模式的,当一个项目服务的局域比较广,用户体量比较大,数据量较大的时候,我们都会将项目部署到多台服务器上,这些个服务器都是分布在不同的区域,这样实现了项目的负载和并发量,但同时也引发了一些问题。如我们将登录信息放在session中,通过session中的用户信息判断用户是否登录的时候。如下图:从下图可以看出,当用户第一次携带正确的用户名和密码到达服务器1的时候,用户
Redis4.0新增了非常实用的lazy free特性,从根本上解决Big Key(主要指定元素较多集合类型Key)删除的风险。笔者在redis运维中也遇过几次Big Key删除带来可用性和性能故障。 本文分为以下几节说明redis lazy free:lazy free的定义我们为什么需要lazy freelazy free的使用lazy free的监控lazy free实现的简单分析1 laz
# 如何设置Redis不使用密码 ## 概述 在实际开发中,有时候我们并不需要为Redis设置密码,这样可以方便开发和调试。在这篇文章中,我将教你如何设置Redis不使用密码。 ### 流程图 ```mermaid flowchart TD A(开始) B{设置Redis不使用密码} C[完成] A --> B B --> C ``` ###
原创 2024-04-08 03:46:09
191阅读
文章目录事务demoredis-clijedisredssion应用场景实现思路ACID实现原子性一致性隔离性耐久性总结 事务一个事务从开始到结束通常会经历以下三个阶段:事务开始命令入队事务执行demoredis-clidev-redis:6379> multi OK dev-redis:6379> set "a" "b" QUEUED dev-redis:6379> set
转载 2024-05-29 11:17:49
42阅读
ubuntu系统版本信息root@zhang-virtual-machine:~# lsb_release -a No LSB modules are available. Distributor ID:Ubuntu Description:Ubuntu 18.04.6 LTS Release:18.04 Codename:bionicgitlab下载链接https://mirrors.tuna.
转载 9月前
35阅读
如下内容基于Redis4.0。与传统数据库不同,Redis把所有数据存储在内存中,虽然存储在内存中提升了Redis服务的性能,但内存中的所有数据在系统断电之后就会丢失,为此Redis提供了RDB、AOF、RDB-AOF混合等多种持久化功能。当然,用户也可以关闭持久化功能,让服务器处于无持久化的状态。RDB持久化RDB介绍RDB(Redis DataBase)持久化是Redis默认的持久化方式,该功
简介Laravel 队列为不同的后台队列服务提供了统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关系型数据库的队列。队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和响应的时间。 队列配置文件存放在 config/queue.php。每一种队列驱动的配置都可以在该文件中找到,包括数据库、Beanstalkd、Amazon SQS
# Redis不使用持久化的实现指南 ## 引言 Redis 是一个广泛使用的内存数据库,因其快速的读取和写入性能而受到许多开发者的喜爱。在某些情况下,我们可能希望使用 Redis 作为一个完全依赖内存的数据库,而不需要持久化数据到磁盘。本文将详细介绍如何设置 Redis 以便不启用持久化,帮助初学者理解整个过程并实现这一目标。 ## 流程概览 在实现 Redis 不使用持久化的过程中,我
原创 7月前
49阅读
# 使用Socket.IO在Java中实现实时通信 作为一名经验丰富的开发者,我将教你如何使用Socket.IO在Java中实现实时通信。本文将按照以下步骤进行: ## 整体流程 下面是使用Socket.IO在Java中实现实时通信的整体流程图。 ```mermaid flowchart TD A[设计Socket.IO服务器] --> B[创建Socket.IO客户端]
原创 2024-01-16 06:31:09
375阅读
上次在群里讨论了aof设置成为appendfsync always到底会不会丢失数据,那我们就从源码层面去看看redis的实现,看看到底是不是绝对不会丢失数据(redis-4.0.10)。 //filename ae.c typedef struct aeEventLoop { int maxfd; /* highest file descriptor currently re
转载 2024-07-12 19:46:32
24阅读
# 使用Socket.IO与Redis队列进行实时通信 在现代Web应用中,实时通信已成为一种重要的需求。Socket.IO是一个广泛使用的库,能够简化WebSocket的实现,而将Redis与Socket.IO结合使用,则可以实现高效的消息传递和分布式结构。本篇文章将介绍如何使用Socket.IO指定Redis队列,帮助你更好地理解这一强大组合的使用方法。 ## 1. Socket.IO简介
原创 2024-09-19 08:26:28
110阅读
# 用Redis存储Socket.IO对象的指南 在本教程中,我们将教你如何使用Redis存储Socket.IO对象。我们将通过一个简单的流程来介绍整个过程,并提供你所需要的代码示例。下面是实现的步骤。 ## 流程概述 我们可以将整个流程分为几个主要步骤,具体如下: | 步骤 | 描述 | |-------
原创 2024-10-28 05:01:35
33阅读
1.下载mysql-installer-community-5.7.24.0.msi(https://dev.mysql.com/downloads/windows/installer/8.0.html, 选择Looking for previous GA versions?)2.安装2.1选择模块2.2安装方式2.3设置密码2.4查看环境变量3.配置数据库3.1配置服务器编码在my.ini文件下
转载 2024-10-21 20:12:26
62阅读
  • 1
  • 2
  • 3
  • 4
  • 5