golang Redis运用
go mod init
go get github.com/go-redis/redis
package main
import (
"encoding/json"
"fmt"
"github.com/go-redis/redis"
"time"
)
// 定时任务Task 执行代码
func init() {
lockKey := "task:test:mytest"
client := GetRedisClient()
defer client.Close()
lockRes := client.SetNX(lockKey, time.Now().Unix(), time.Minute*1).Val()
if !lockRes {
return
}
defer client.Del(lockKey)
// 下面执行任务代码
// service := services.func{}
}
// 连接redis服务器 并返回客户端连接对像
func GetRedisClient() *redis.Client{
client := redis.NewClient(&redis.Options{
Addr: "127.0.0.1:6379",
Password: "", // no password set
DB: 0, // use default DB
})
_, err := client.Ping().Result()
if err != nil {
panic(err)
}
return client
}
type Person struct {
Name string
Age int
}
func main(){
client :=GetRedisClient() // 获取客户端连接对像
defer client.Close()
// 设置值
err:= client.Set("myName","Lyh",0).Err()
if err!=nil{
fmt.Println("redis存值出错",err)
}
// 获取值
myName,err:=client.Get("myName").Result()
if err!=nil{
fmt.Println("redis取值出错",err)
}
fmt.Println("值:",myName)
// 删除Key
client.Del("myName")
// 操作Hash
var p Person
p.Name="中国张三"
p.Age=10
strP,err:= json.Marshal(p)
// HSet 设置Hash的值
err = client.HSet("personAll","chinses",strP).Err()
if err!=nil{
fmt.Println("中国张三有问题",err)
}
// HGet 获取Hash的值
v:= client.HGet("personAll","chinses").Val()
fmt.Println("redis的Hash值:",v)
// 删除hash
client.HDel("personAll","chinses")
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2014-07-16 MVC4 中的Model显示设置(含显示Shared/DisplayTemplates和编辑Shared/EditorTemplates)