【Go 语言社区】关于Golang 数据缓存到redis内存数据库遇到的问题

时间:2022-05-04
本文章向大家介绍【Go 语言社区】关于Golang 数据缓存到redis内存数据库遇到的问题,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

首先, 简单的说下,redis 在项目中的一个作用;针对与大数据在内存操作数据和子数据库操作数据可能都不是一个数量级的,redis在项目中主要是起到配置数据的作用,说白了就是将数据库的不同的表整合到一个数据块,方便程序快速读取。例如APP开发,设计到文章属性的相关的多数都会存在一个内存数据块中,而在数据库则是不同的表。

假如有个工作做排行,我们完全可以用redis自己带的函数经行数据的排行;可以从小到大也可以从大到小。涉及到的API 如下:

保存到内存数据库:这个我做的APP的评论功能

// 用户产生一条问答的评论
// hkey : 为 问答评论产生的时间戳: Instertime
func Redis_Write_AnswerCommentInfoData(strkey_Instertime string, stAnswerCommentInfo Global_Define.StCommentInfo) bool {
    Log_Eio.Log("Entry Redis_Write_AnswerCommentInfoData")
    Log_Eio.Fmt("Entry Redis_Write_AnswerCommentInfoData")
    // 数据的存储
    itimekey, _ := strconv.Atoi(stAnswerCommentInfo.CommentTime)
    bytetmp, _ := json.Marshal(stAnswerCommentInfo)
    _, error := GRedis_Client.Zadd(AnswerCommentInfoKey, float64(itimekey), bytetmp)
    if error != nil {
        Log_Eio.Fmt("GRedis_Client.Zadd: Set data ", error)
        Log_Eio.Log("GRedis_Client.Zadd: Set data ", error.Error())
        return false
    }
    return true
}

简单的给大家解释下: APP的文章还是评论都是按照最新的时间显示在评论头条或者最新的文章显示在上面;所以我们用时间戳来做排序的标准,因为ZADD函数key是可以重复的。这个大家可以简单的写个DEMO试试。