package main

import (
"log" "github.com/garyburd/redigo/redis"
"github.com/garyburd/redigo/redisx"
) type MyStruct struct {
A int
B string
} type RequestLog struct {
RequestType string //Get,Put,Post,Delete
AccessKey string
SecretKey string
ReuqestURL string //请求网址
RemoteAddr string
CreateTime string //创建日期
} func main() {
c, err := redis.Dial("tcp", ":6379")
if err != nil {
log.Fatal(err)
} // v0 := &MyStruct{1, "hello"}
v1 := &RequestLog{"GET", "a", "a", "/get/adsid/fasdfk", "19.2.23.2", "201403201528"}
// _, err = c.Do("HMSET", redisx.AppendStruct([]interface{}{"key"}, v0)...)
_, err = c.Do("HMSET", redisx.AppendStruct([]interface{}{"reqlog:201403201528.1"}, v1)...)
if err != nil {
log.Fatal(err)
} reply, err := c.Do("HGETALL", "reqlog")
if err != nil {
log.Fatal(err)
} v2 := &RequestLog{} err = redisx.ScanStruct(reply, v2)
if err != nil {
log.Fatal(err)
}
log.Printf("v2=%v", v2)
}
  • 在测试过程中发现redis无法存储时间类型数据,通过查阅资料,一般会将时间转换为符串做为key的一部分存在,以便于查询
  • 这时的问题是key最长允许存储多长:网上给的解释为1024字节(需查)
  • 表设计思路

优化: 节约内存:Instagram的Redis实践

最新文章

  1. 12月5日PHPCMS替换主页
  2. 华为oj 刷题记录之合唱团
  3. XMPP iOS客户端实现三:登录、注册
  4. POJ 1236 Network of Schools(Tarjan缩点)
  5. JavaScript-分支语句练习
  6. 如何查看Linux操作系统版本
  7. 【转】Java之 内存区域和GC机制
  8. [C语言 - 10] C语言保留字
  9. C++: 单例模式和缺陷
  10. 【BZOJ 1045】 1045: [HAOI2008] 糖果传递
  11. C++ XML 解释库
  12. html5 -----audio标签
  13. Oracle解析复杂json的方法
  14. Android开发学习之路--Android Studio cmake编译ffmpeg
  15. python random库
  16. python面向对象封装案例(附:is和==的区别)
  17. ROS教程5 使用串口
  18. [转帖]Nginx的超时keeplive_timeout配置详解
  19. EasyUI 的 combotree 加载数据后折叠起来,并且只允许单击子节点的写法
  20. .NET数据请求序列化

热门文章

  1. Struts 2之动态方法调用,不会的赶紧来
  2. SQL Analysis Services MDX 查询超时 解决办法
  3. 详解Objective-C runtime
  4. springmvc工作原理以及源码分析(基于spring3.1.0)
  5. for循环相关
  6. struts2 ajax的一种实现方式
  7. JSBinding / About JSComponent and Serialization
  8. ubuntu12.04+kafka2.9.2+zookeeper3.4.5的伪分布式集群安装和demo(java api)测试
  9. [转]MYSQL远程登录权限设置
  10. IntelliJ IDEA15导入jar包