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;