当前位置:   article > 正文

goLang与redis_golang redis 工具类

golang redis 工具类

一.前言

Redis是一种高性能的Key-Value数据库

1.Redis特性

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

2.Redis 优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

3.redis应用场景

  • 用来做缓存(ehcache/memcached)——redis的所有数据是放在内存中的(内存数据库)
  • 可以在某些特定应用场景下替代传统数据库——比如社交类的应用
  • 在一些大型系统中,巧妙地实现一些特定的功能:session共享、购物车

二.安装与启动

1.windows版
官网是没有windows版下载链接的,可以去github上下载
https://github.com/MicrosoftArchive/redis/tags
2.linux
wget http://download.redis.io/releases/redis-3.2.8.tar.gz

3.bin目录
a)redis-server redis服务器
b)redis-cli redis命令行客户端
c)redis-benchmark redis性能测试工具
d)redis-check-aof AOF文件修复工具
e)redis-check-rdb RDB文件检索工具

4.服务器端启动
windows:可直接双击redis-server.exe启动
linux:

		sudo service redis start
  • 1

三.数据库操作

1.string类型

在Redis中字符串类型的Value最多可以容纳的数据长度是512M。
  • 1

1.1.保存

//普通保存
set key value
//设置过期时间,单位为秒
setex key seconds value
//设置多个键值
mset key1 value1 key2 value2....
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

1.2 获取

//普通获取
get key
//获取多个值
mget key1 key2...
  • 1
  • 2
  • 3
  • 4

1.3查找键

keys pattern(参数⽀持正则表达式)

	//查找所有的键
	keys * 
	查看名称中包含a的键
	keys 'a*'
  • 1
  • 2
  • 3
  • 4

1.4是否存在

判断键是否存在,如果存在返回1,不存在返回0

exists key1
  • 1

1.5 删除键

del key1 key2 ...
  • 1

2.hash类型

2.1保存

设置单个属性

hset key field value
eg: hset User name king
  • 1
  • 2

设置多个属性

hmset key field1 value1 field2 value2 ...
  • 1

2.2获取

获取一个属性值

hget key filed
  • 1

获取多个属性值

hmget key field1 field2...
  • 1

获取指定键所有的属性

hkeys key
  • 1

获取所有属性的值

hvals key
  • 1

获取一个hash有多少个属性

hlen key
  • 1

删除

hdel key field1 field2 ..
  • 1

3.list与set类型

3.1增加

	//左侧增加
	lpush key value1 value2 ...
	//右侧增加
	rpush key value1 value2 ...
  • 1
  • 2
  • 3
  • 4

3.2获取

lrange key start stop
  • 1

stop代表最后一个元素

四.goLang操作redis

Go操作redis文档 https://godoc.org/github.com/gomodule/redigo/redis

1.安装
go get github.com/gomodule/redigo/redis

2.示例操作

package main
import ( "github.com/gomodule/redigo/redis")
func main(){
        conn,_ := redis.Dial("tcp", ":6379")
        defer conn.Close()
        conn.Do("set", "c1", "hello")
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号