Fork me on GitHub

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;
posted @ 2019-12-03 18:45  西西嘛呦  阅读(382)  评论(0编辑  收藏  举报