前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Go 语言社区】关于Golang 数据缓存到redis内存数据库遇到的问题

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

作者头像
李海彬
发布2018-03-20 10:52:02
1.4K0
发布2018-03-20 10:52:02
举报
文章被收录于专栏:Golang语言社区Golang语言社区

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

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

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

代码语言:javascript
复制
// 用户产生一条问答的评论
// 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试试。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档