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支 ...
随机推荐
- 【原】导入framework报错解决(以ReactiveObjC.framework为例)
1.当导入ReactiveObjC.framework后,进行编译时报错:framework not found xxx 报错如下图: 解决办法: Targets -> Build Se ...
- LeetCode刷题191123
博主渣渣一枚,刷刷leetcode给自己瞅瞅,大神们由更好方法还望不吝赐教.题目及解法来自于力扣(LeetCode),传送门. 算法: 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: ...
- oracle创建新用户并授予权限
1.同时按下WIN键+R键打开“运行”,输入cmd,回车进入命令提示符 2.输入“sqlplus”后按下回车键,提示输入用户名,输入“sys as sysdba”,按下回车,输入口令,即四-13中设置 ...
- vue 中的小知识点
1)使用is解决小bug <!DOCTYPE html><html lang="en"> <head> <meta charset=&qu ...
- Zuul 修改 请求头、响应头 (死磕)
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...
- 搞定vscode编写java(手把手篇)
1: 下载VSCODE 本来我写过一个 vscode 编写java 帖子,但是 还是很多人私信我,下面写一个手把手教程 原文地址: https://www.cnblogs.com/dgwblog/p/ ...
- ETC到底要不要办?有什么好处?
一说到ETC,开车的朋友想必不会陌生.但很多车友却不太愿意办理ETC, 究其原因,主要是一些谣言所致,一传一十传百最后变成了真实的谎言,并且对此深信不疑, 比如下面5个广泛流传的谣言 在来看看 ...
- JVM内存模型与类加载机制
一. java虚拟机的内存模型如图: 补习一下jvm内存模型中的各个组成部分 堆: 我们new出来的对象全部放在堆中,他是jvm所能够动态分配的最大的一块空间 优点: 内存动态分配,生命周期不必事先告 ...
- Java面试必备:手写单例模式
面试官:请手写下几种常见的单例模式 我:好的(面带微笑),心里暗喜(送分题). 没成想提笔便写出了如此豪放的代码,不堪回首,请原谅我的不羁! 此篇整理了几种常见的单例模式代码示例,再有面试官让手撕单例 ...
- 关于mybtis 使用过程中发生There is no getter for property named 'id' in class 'java.lang.String' 错误
今天在修改一个关于mybtis语句时,偶然发现的一个错误 There is no getter for property named 'id' in class 'java.lang.String' ...