Go---Redis使用

Redis

1.Redis是NoSQL数据库,不是传统的关系型数据库

2.Redis: REmote Dlctionary Server(远程字典版务器),Redis性能非常高,单机能够达到     15wqps,通常适合做缓存,也可以持久化。
3.是完全开源免费的,高性能的(keylvalue)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是最热门的NoSql数据库之—,也称为数据结构服务器

4.Redis工作原理图

Go---Redis使用_第1张图片

启动redis

Go---Redis使用_第2张图片

Redis的命令参数

网站Redis 命令参考 — Redis 命令参考 (redisdoc.com)

Redis的基本使用:
说明: Redis安装好后,默认有16个数据库,初始默认使用0号库,编号是0...15
1.添加 key-val  [set]
2.查看当前 redis 的所有key  [keys*]

 

3.获取 key 对应的值.  [get key]


4.切换 redis 数据库  [select index]


5.如何查看当前数据库的 key-val 数量 [dbsize]

Go---Redis使用_第3张图片
6.清空当前数据库的 key-val 和清空所有数据库的 key-val  [flushdb flushall]

 flushdb:清空当前数据库

 flushall:清空所有数据库的

 

Redis数据类型和CRUD

Redis的五大数据类型:
Redis的五大数据类型是: String(字符串)、Hash (哈希)、List(列表)、Set(集合)和zset(sorted set:有序集合)

String(字符串)-介绍
string是redis最基本的类型,一个key对应一个value.
string类型是二进制安全的。除普通的字符串外,也可以存放图片等数据。

redis中字符串value最大是512M
String(字符串)-CRUD
举例说明Redis 的 String字符串的CRUD操作.

set[如果存在就相当于修改,不存在就是添加]/get/del

Go---Redis使用_第4张图片

String(字符串)-使用细节和注意事项

 setex(set with expire)键秒值 (设置某个值的时间)

Go---Redis使用_第5张图片

 mset[同时设置一个或多个 key-value 对]

Go---Redis使用_第6张图片

Hash(哈希,类似golang里的Map)-介绍
Redis hash是一个键值对集合。var user1 map[string]string
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。key不能重复 

举例.存放一个User信息(user 1)
user1 name  "smith" age 30  job "golang coder"

Go---Redis使用_第7张图片

Hash的CRUD的基本操作

hset  : 设置值     hget  : 获取值 

 hgetall:获取所有值   hdel   :删除值

Go---Redis使用_第8张图片Go---Redis使用_第9张图片

 Hash-使用细节和注意事项
在给user1设置name和age时,前面我们是一步一步设置,使用 hmsethmget 可以一次性来设置多个filed的值和返回多个field的值。

hlen统计一个hash有几个元素.

 

hexists key field
查看哈希表key中,给定域field是否存在

 

 List(列表)-介绍
列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
List本质是个链表, List的元素是有序的,元素的值可以重复.

举例 存地多个地址信息:

 List(列表)-CRUD

lpush:从左边插入      rpush : 从右边插入   del :删除

lrange 

Go---Redis使用_第10张图片

 lpop: 列表的头元素,移出此元素。 当 key 不存在时,返回 nil 。

rpop: 列表的尾元素,移出此元素。 当 key 不存在时,返回 nil 。

Go---Redis使用_第11张图片

 List-使用细节和注意事项
(1) lindex,按照索引下标获得元紊(从左到右,编号从0开始.)

(2) LLEN key
    返回列表 key的长度,如果key 不存在,则 key被解释为一个空列表,返回0
(3)List的其它说明
    List数据,可以从左或者右插入添加;

    如果值全移除,对应的键也就消失了。

Set(集合)-介绍
Redis的 Set 是string类型的无序集合。
底层是HashTable数据结构,Set也是存放很多字符串元素,字符串元素是无序的,而且元素的值不能重复

Go---Redis使用_第12张图片

Set(集合)-CRUD
sadd : 添加值
smembers : 取出所有值
sismember : 判断值是否是成员   

srem : 删除指定值

Go---Redis使用_第13张图片 

 

你可能感兴趣的:(Go,golang)