Go语言中的gin框架 分布式部署环境下如何存储缓存本地工具-Redis 容器实现(十一)

Redis是一种开源的内存数据存储系统,它提供了一个快速、可扩展的键值存储解决方案。

Redis支持各种数据结构,包括字符串、哈希表、列表、集合和有序集合。它常被用作缓存、消息代理、队列和实时应用程序等多个用途。

Redis的主要特点包括:
1. 快速:Redis存储在内存中,可以在微秒级别进行读写操作。它使用了高效的数据结构和算法来提供快速的性能。
2. 持久化:Redis支持数据持久化,可以将数据保存到磁盘上,以便在重启后恢复数据。
3. 多样化的数据结构:Redis支持多种数据结构,如字符串、哈希表、列表、集合和有序集合。这使得它非常灵活,可以适应各种不同的应用场景。
4. 高可用性:Redis支持主从复制和分布式架构,可以提供高可用性和可伸缩性。
5. 发布/订阅:Redis支持发布/订阅模式,可以用于构建消息系统,实现实时数据推送和事件通知。

要使用Redis,你需要安装Redis服务器,并使用相应的客户端库来连接和操作Redis服务器。常见的Redis客户端库有Redis官方的Redis-cli、Python的redis-py、Node.js的ioredis等。

如何window环境下安装 Redis 服务端?

如果你想使用一个Redis安装器来简化Redis的安装过程,你可以尝试使用Redis官方推荐的Microsoft开发者工具包(MSOpenTech Redis)。以下是通过MSOpenTech Redis安装器在Windows上安装Redis的步骤:

1. 前往Redis官方网站:https://redis.io/,点击"Download"菜单。
2. 在Windows一栏下,点击"MS Open Tech"链接。
3. 在GitHub页面中,找到并点击最新版本的`Redis-x.x.x.zip`文件来下载Redis安装器。请注意,`x.x.x`代表版本号。
4. 下载完成后,解压缩文件至你希望安装的位置(例如 `C:\Redis`)。
5. 在Redis解压缩目录中,可以看到一个名为`Redis-x.x.x`(版本号)的文件夹,进入该文件夹。
6. 在该文件夹中,你可以找到一个名为`install_service.bat`的批处理文件。以管理员权限运行此文件。
7. 安装程序将提示你输入用于Redis服务的端口号,默认为6379(你也可以选择其他端口号)。
8. 等待安装程序完成Redis的安装。
9. 安装完成后,你可以使用Windows的"Services"管理器检查并启动Redis服务,或者使用命令行中的`redis-cli`命令来与Redis进行交互。

通过此安装器,你可以更轻松地在Windows上安装和管理Redis。希望这个方法对你有帮助。如果有任何进一步的问题,请随时提问。

补充说明一下,以上的安装方式不适合你的话可以看一下:

 Index of /release/

实际上,Redis官方没有提供名为"redis-x86-6x.msi"的安装文件。Redis官方提供的安装程序主要有两个版本:32位和64位。

若要在32位Windows操作系统上安装Redis 6.x版本,请按照以下步骤进行操作:

  1. 前往Redis官方网站:https://redis.io/ ,点击"Download"菜单。

  2. 在Windows一栏下,找到并点击"MS Open Tech"链接。

  3. 在GitHub页面中,找到并点击最新版本的Redis-x.x.x.zip文件来下载Redis压缩包。请注意,x.x.x代表版本号。

  4. 下载完成后,解压缩文件至你希望安装的位置(例如 C:\Redis)。

  5. 打开解压缩后的Redis文件夹,你将看到一些文件和文件夹。其中,redis-server.exe是Redis的服务端程序。

  6. 按住Shift键,然后右键单击空白处,选择“在此处打开命令窗口”或“在此处打开PowerShell窗口”。

  7. 在弹出的命令行或PowerShell窗口中,运行以下命令来启动Redis服务端:

    redis-server.exe redis.windows.conf
    

    这将在默认端口(6379)上启动Redis服务端。

  8. Redis服务端成功启动后,窗口中将显示一些日志信息,包括Redis的版本号、端口号等。

对于64位的Windows操作系统,你可以按照相同的步骤安装Redis,只需要下载适用于64位系统的Redis压缩包即可。

笔记: 下载 window 5.0.14 一件安装

记得配置系统环境变量不然无法使用,使用效果可以参考:

 这个是确定安装后,redis服务是否启动 也可以 net start redis 命令行启动。

这样情况就是安装成功了。 

通过Redis,你可以实现与数据相关的各种操作,如读写数据、设置过期时间、增删改查操作等。它还提供了一些高级功能,如事务、Lua脚本、管道、排序和范围查询等。无论是构建缓存系统,还是实现实时统计、排行榜或消息队列等功能,Redis都是一个非常强大和灵活的工具。

那么在gin框中,如何使用 Redis 呢?

1、将原有的cookie容器 中间件换成 Redis的创建的(go get -u github.com/go-redis/redis/v5)

 go get github.com/gomodule/redigo@latest

go get github.com/gin-contrib/sessions/redis

安装后,代码main.go文件内部

package main

import (
	"project/routers"

	"github.com/gin-contrib/sessions"
	"github.com/gin-contrib/sessions/redis"
	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()

	// Create template for router html template
	r.LoadHTMLGlob("*templates/**/**/*")

	// 设置 session 中间件
	// store := cookie.NewStore([]byte("secret")) // 设置 Session 密钥
	// r.Use(sessions.Sessions("mysession", store))

	// 换成 redis 容器存储
	store, _ := redis.NewStore(10, "tcp", "localhost:6379", "", []byte("secret")) // redis 容器注册中间件
	/*
		一个参数代表了位数int
		第二参数代表传输协议(tcp、udp)
		第三参数代表 redis的链接地址,如果是外网就是ip地址加端口号
		第四参数代表 redis服务的访问密码,如果本地未设置那么是空
		第五参数代表 redis容器的保存数据的秘钥(这里的值用来内部加密了!)
	*/
	r.Use(sessions.Sessions("mysessionRedis", store))

	r.GET("/", func(ctx *gin.Context) {
		ctx.JSON(200, gin.H{
			"message": "Hello, world!",
		})
	})

	routers.AdminRoutersInit(r)
	routers.DefaultRoutersInit(r)

	r.Run(":8081")

}

以上就是更改 存储数据容器后,存储的改造的中间件部分其他session部分不用,这样改动更符合大数据的分布式系统访问。

希望对你有所帮助!如有任何其他问题,请随时提问。

猜你喜欢

转载自blog.csdn.net/A_LWIEUI_Learn/article/details/131585066