【Go开源宝藏】Go 语言操作 Redis (一)

网友投稿 676 2022-05-28

1. Redis简介

Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。支持诸如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、带范围查询的排序集合(sorted sets)、位图(bitmaps)、hyperloglogs、带半径查询和流的地理空间索引(geospatial indexes)等数据结构。

虽然是基于内存的存储系统,但是它本身是支持内存数据的持久化的,而且提供两种主要的持久化策略:RDB快照和AOF日志。

【Go开源宝藏】Go 语言操作 Redis (一)

redis常用方法:

在Redis中,并不是所有的数据都一直存储在内存中的。当物理内存用完时,Redis可以将一些很久没用到的value交换到磁盘。Redis只会缓存所有的key的信息,如果Redis发现内存的使用量超过了某一个阀值,将触发swap的操作,Redis根据

swappability=age*log(size_in_memory)

计算出哪些key对应的value需要swap到磁盘。然后再将这些key对应的value持久化到磁盘中,同时在内存中清除。这种特性使得Redis可以保持超过其机器本身内存大小的数据。

2. Go语言连接Redis

驱动:github.com/go-redis/redis

定义 redisClient

var Redis *redis.Client

连接

func connect() { client := redis.NewClient(&redis.Options{ Addr: "127.0.0.1:6379", //Password: "redisPassword", // 无密码,就这样就好了 DB: 3, }) _, err := client.Ping().Result() // 心跳验证 if err != nil { log.Println(err) panic(err) } Redis = client fmt.Println("connect success") }

go-redis包中提供了非常丰富的接口供我们选择

redis.NewClient 就可以创建一个redis的client

client.Ping().Result() 进行心跳检测验证

下一章中我们会使用go语言对redis进行简单的操作。

Go Redis

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ros底盘驱动包存在scan跟不上车体运行的错误调试过程
下一篇:mknod命令
相关文章