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;
golang--redis基本介绍的更多相关文章
- [转] Redis系统性介绍
Redis系统性介绍 http://blog.nosqlfan.com/html/3139.html?ref=rediszt 虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了 ...
- Redis安装介绍
Redis安装介绍 一.Linux版本及配置 1. Linux版本:Red Hat Enterprise Linux 6虚拟机 2. 配置: 内存:1G:CPU:1核:硬盘:20G 二.Redis ...
- Redis全面介绍
最近重新认识了一下Redis,借着这个机会,也整理一篇算是比较详尽和全面的文章吧. 缓存 缓存就是数据交换的缓冲区(称作Cache)——摘自百度百科.无论是在计算机硬件体系结构还是软件体系结构中, ...
- NoSQL数据库之Redis数据库:Redis的介绍与安装部署
NoSQL(NoSQL = Not Only SQL),它指的是非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的w ...
- 4 Redis 配置文件介绍
2016-12-22 14:28:39 该系列文章链接NoSQL 数据库简介Redis的安装及及一些杂项基础知识Redis 的常用五大数据类型(key,string,hash,list,set,zse ...
- 第五章· Redis主从复制介绍
一.Redis主从复制 二.Redis主从复制工作机制 一.Redis主从复制 Redis复制功能简单介绍 1)使用异步复制.2)一个主服务器可以有多个从服务器.3)从服务器也可以有自己的从服务器.4 ...
- redis cluster介绍
讲解分布式数据存储的核心算法,数据分布的算法 hash算法 -> 一致性hash算法(memcached) -> redis cluster,hash slot算法 一.概述 1.我们的m ...
- Python 基于python操纵redis入门介绍
基于python操纵redis入门介绍 by:授客 QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3.3.2 基于Python操作R ...
- Python redis 简单介绍
Python redis 简单介绍 1.安装 终端输入: pip(or)pip3.6 install redis 安装成功 2.哈哈,发现我并没有redis服务可以访问,所以到这里,在本机安装了red ...
- Redis数据库介绍
引言 redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库. redis数据结构 redis是一种高级的key:value存储系统,其中value支 ...
随机推荐
- Android框架式编程之Lifecycle
Lifecycle官方文档地址:https://developer.android.com/topic/libraries/architecture/lifecycle. 一.为什么要使用Lifecy ...
- IntelliJ IDEA 2019.2.2同个项目运行多次的方法
IntelliJ IDEA默认运行项目后,再点击运行就是重启,但有时候,需要配置项目的不同端口号,同时运行. 步骤如下: 1.点击IDEA右上角项目的隐藏下拉框,出现下拉列表,点击Edit Confi ...
- synchronized到底锁住的是谁?
本文代码仓库:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/sync 先来一道校招级并发编程笔试题 题 ...
- JDK8,Optional
作为程序员,你肯定遇到过NullPointerException, 这个异常对于初出茅庐的新人, 还是久经江湖的老手都是不可避免的痛, 可又是那么的无能为力,为了解决它,你只能在使用某个值之前,对其 ...
- win10,7 80端口被占用的检测和解决方法
这是一篇关于检测windows7和windows10系统“80端口”被哪个程序占用和怎么解决的小教程.此处用windows10作为范例 1.得到占用该端口的PID ①打开运行(快捷键win+R)(也可 ...
- Anaconda创建环境失败,提示无法定位程序输入点
https://blog.csdn.net/qq_37465638/article/details/100071259 这篇博客写得很清楚,是anaconda下Library下lib下的一个文件和DD ...
- November 10th, Week 45th, Sunday, 2019
Perfection has no place in love. 爱从不完美. Perfection has no place in love, and we should always try to ...
- ceph安装笔记
配置源 ceph版本为luminous [root@ceph-node1 ~]# yum install -y https://dl.fedoraproject.org/pub/epel/epel-r ...
- Codeforces Round #590 D. Distinct Characters Queries
CF上给的标签是数据结构.但给的题解里的方法是很巧的暴力,用vector<set>维护每个字母出现的下标,每次修改加下标,擦下标.每次询问对每个字母分别lower_bound查找区间内是否 ...
- uni-app中onLoad不起作用
最近开始使用uni-app,坑还是很多的 今天在使用onLoad是发现,页面上的onLoad方法是可以起作用的,但是组件中的onLoad方法并没有起作用 后来经过一番尝试后还是不行,看文档发现uni- ...