golang--redis基本介绍

redis(remote-dictionary-system)即远程字典服务器,是NoSQL数据库:

  • 适合做缓存以及持久化;
  • 免费开源,高性能的分布式内存数据库;

redis的安装和使用:

  • 下载Redis-x64-3.2.100.zip,然后解压即可;
  • 双击redis-server.exe即可启动redis服务端;

redis五大数据类型:

  • 字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(zset);

redis安装好后,默认有16个数据库,初始默认使用0号库,编号是0-15,双击redis-cli.exe打开客户端:

  • 添加key-val(set)
    set key1 hello
  • 获得当前数据库的所有keys
    keys *
  • 获取key对应的值
    get key1
  • 切换数据库
    select 1
  • 查看当前数据库的key-val数量
    dbsize
  • 清空当前数据库的kay-val和清空所有数据库的key-val
    flushdb
    flushall

字符串:

是redis最基本的类型,一个key对应一个value,例如str1 = "hello";

string类型是二进制安全的,除普通的字符串外,也可以存放图片等数据;

redis字符串value最大是512M;

字符串的增删查改:

  • 增加:set sddress beijing;
  • 查找:get address;
  • 删除:del address;
  • 修改:set address nanjing;
  • 设置超时,10s后自动销毁该字符:setex mss01 10 hello,you ;
  • 一次性设置多个key-val:mset name gong age 20;
  • 一次性获取多个key-val:mget name age;

哈希:

是一个键值对集合,是一个string类型的field和value的映射表,hash特别适合用于存储对象;

哈希的增删查改:

  • 添加一个hash:hset user1 name gong;hset user1 age 20;
  • 获得一个hash:hget user1 name;hget user1 age;
  • 获得所有信息:hgetall user;
  • 删除一个值:hdel user1 age;
  • 添加hash多个值:hmset user2 name bob age 22;
  • 取得值:hmget user2 name age;
  • 统计一个Hash有多少元素:hlen user2;
  • 判断是否存在某个字段:hexists user2 name;

列表:

列表是简单的字符串列表,并按照插入顺序排序,可以在列表首和列表尾插入元素;

列表的本质是个链表,列表里的元素是有序的,可以是重复的;

列表的增删查改:

  • 增加:lpush name bob jack tom;rpush address beijing wuhan shanghai;
  • 查找:lrange name 0 -1;
  • 弹出:lpop name;rpop name;
  • 删除:del name;
  • 按索引下标获取数据:lindex name 1;
  • 列表长度:llen name;

集合:

Set是string类型的无序集合,底层是HashTable;

Set也是存放很多字符串元素,字符串元素是无序的,而且元素的值不同重复;

集合的增删查改:

  • 增加:sadd name gong li tan;
  • 查询全部:smembers name;
  • 查询单个是否存在:sismember name gong;
  • 删除:srem name gong;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


类型转换 1、int转string 2、string转int 3、string转float 4、用户结构类型转换
package main import s "strings" import "fmt" var p = fmt.Println func main() { p("Contains: ", s.Contains("test&quo
类使用:实现一个people中有一个sayhi的方法调用功能,代码如下: 接口使用:实现上面功能,代码如下:
html代码: beego代码:
1、读取文件信息: 2、读取文件夹下的所有文件: 3、写入文件信息 4、删除文件,成功返回true,失败返回false
配置环境:Windows7+推荐IDE:LiteIDEGO下载地址:http://www.golangtc.com/downloadBeego开发文档地址:http://beego.me/docs/intro/ 安装步骤: 一、GO环境安装 二、配置系统变量 三、Beego安装 一、GO环境安装 根
golang获取程序运行路径:
Golang的文档和社区资源:为什么它可以帮助开发人员快速上手?
Golang:AI 开发者的实用工具
Golang的标准库:为什么它可以大幅度提高开发效率?
Golang的部署和运维:如何将应用程序部署到生产环境中?
高性能AI开发:Golang的优势所在
本篇文章和大家了解一下go语言开发优雅得关闭协程的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。1.简介本文将介绍首先为什么需要主...
这篇文章主要介绍了Go关闭goroutine协程的方法,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。1.简介本文将介绍首先为什么需要主动关闭gor...
本篇文章和大家了解一下go关闭GracefulShutdown服务的几种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。目录Shutdown方法Regi...
这篇文章主要介绍了Go语言如何实现LRU算法的核心思想和实现过程,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。GO实现Redis的LRU例子常
今天小编给大家分享的是Go简单实现多租户数据库隔离的方法,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会...
这篇“Linux系统中怎么安装NSQ的Go语言客户端”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希
本文小编为大家详细介绍“怎么在Go语言中实现锁机制”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么在Go语言中实现锁机制”文章能帮助大家解决疑惑,下面...
今天小编给大家分享一下Go语言中interface类型怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考