首页 > 其他 > 详细

Redis基础介绍,GO的redis包

时间:2021-06-17 17:15:03      阅读:20      评论:0      收藏:0      [点我收藏+]

Redis

Redis是一个完全开源的,高性能的key-value数据库,nosql,没有表的概念

redis安装地址: https://github.com/tporadowski/redis/releases。

配置文件:Linux:redis.conf Windows:redis.windows.conf

打开服务:./redis-server

客户端:./redis-cli

一个特别好用的windows可视化工具:https://github.com/tporadowski/redis/releases

数据类型

  • string
redis 127.0.0.1:6379> SET name "zwh"
redis 127.0.0.1:6379> Get name
"zwh"
  • hash

has是一个string类型的field和value的映射表

DEL name删除string中创建的key

redis 127.0.0.1:6379>DEL name
redis 127.0.0.1:6379>HMSET name field1 "Hello" field2 "world"
redis 127.0.0.1:6379>HGET name field1
"Hello"
redis 127.0.0.1:6379>HGET field2
"world"

每个 hash 可以存储 232 -1 键值对(40多亿)。

  • List列表

一个字符串列表,按照插入顺序排序,可以添加一个元素到列表的左边或者右边

redis 127.0.0.1:6379>DEL name
redis 127.0.0.1:6379>lpush name redis
(integer) 1
redis 127.0.0.1:6379>lpush name mongodb
(integer) 1
redis 127.0.0.1:6379>lpush name rabbitmq
(integer) 1
redis 127.0.0.1:6379>lrange name 0 10
1) "rabbitmq"
2) "mongodb"
3) "redis"
  • 集合set

是string类的无序集合,集合内元素具有唯一性

redis 127.0.0.1:6379>sadd name redis
  • 有序集合

zset,同set是一个String类的元素的集合。

不同的是每个元素都会关联一个double类型的分数。redis通过改分数来为集合中的成员进行从小到大的排序。

redis 127.0.0.1:6379>zadd name 0 redis
redis 127.0.0.1:6379>zadd name 0 mongodb
redis 127.0.0.1:6379>ZRANGEBYSCORE name 0 1000

GO操作redis

GO操作redis通过github.com/garyburd/redigo/redis包,直接执行redis的操作。

string_demo:

package main

import (
	"fmt"
	"github.com/garyburd/redigo/redis"
)

func main(){
	conn,err := redis.Dial("tcp","127.0.0.1:6379")
	if err != nil {
		fmt.Println("connect redis err:",err)
		return
	}
	defer conn.Close()

	//设置值
	_,err = conn.Do("SET","name","Zhangwenhao")
	if err != nil {
		fmt.Println("error:",err)
	}
	name,err := redis.String(conn.Do("GET","name"))
	if err != nil {
		fmt.Println("error:",err)
	}else {
		fmt.Printf("My name is:%s \n",name)
	}
	//设置过期时间
	_,err = conn.Do("expire","name",30) //10秒过期
	if err != nil {
		fmt.Println("error:",err)
		return
	}
}



OUTPUT:
My name is:Zhangwenhao 

Redis基础介绍,GO的redis包

原文:https://www.cnblogs.com/Gumi-o/p/14893397.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!