加油,打工人,今天又是美好的一天

十四郎君

一日不思量,也攒眉千度

Redis学习—— Redis 简介

1. 什么是 Redis?
Redis 是一个使用 ANSI C 编写的开源,支持网络,基于内存,可选持久性的键值对存储数据库。从2015 年 6 月开始,Redis 的开发由 Redis Labs 赞助,而2013 年 5 月至 2015 年6月期间,其开发由 Pivotal 赞助。在 2013 年 5 月之前,其开发由 VMware 赞助。根据月度排行网站 DB-Engines.com 的数据显示,Redis是 最流行的键值对存储数据库。
 
2. Redis 特点
  • Redis 支持数据的持久化,可以将内存的数据保存在磁盘中,重启的时候可以再次加载进行使用,不会造成数据丢失
  • Redis 支持五种不同的数据结构类型之间的映射,包括简单的 key/value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储
  • Redis 支持 master-slave 模式的数据备份
 
3. Redis 中的五种数据类型简介
 
String(字符串)
String 是 redis 中最基本的数据类型,redis 中的 String 类型是二进制安全的,即它可以包含任何数据,比如是一个序列化的对象或者一个 jpg 图片,但要注意的是 redis 中的字符串上限是 512M
 
List(列表)
List 是一个简单的字符串列表,按照插入顺序进行排序,我们可以从 List 头部(left)或者尾部(right)插入一个元素,也可以从头部或者尾部弹出一个元素
 
Hash(哈希)
HASH 类似于 Java 中的 Map ,是一个键值对集合,在 redis 中可以用来存储对象
 
Set(无序集合)
Set 是 String 类型的无序集合,不同于 List ,Set 中的元素不可以重复
 
Zset(有序集合)
Zset 和 Set,也是 String 类型的元素的集合,不同的是 Zset 中的每个元素都会关联一个 double 类型的分数,Zset 中的成员都是唯一的,但是所关联的分数可以重复
 
OK,通过上面的介绍,相信小伙伴们对五大数据类型都有一个大致的认识了,接下来我们就来看看这五种数据类型要怎么操作。
 
4. key 相关命令
由于五大数据类型的数据结构本身有差异,因此对应的命令也会不同,但是有一些命令不管对于哪种数据类型都是存在的,我们现在就先来看看这样一些特殊的命令
如果还没安装 redis 的朋友可以看一下我另外一篇:
 
SET 命令
# 设置 k1 的值为 v1,看到 ok 表示设置成功 
127.0.0.1:6379> set k1 v1
OK 
DEL 命令
# 通过 del 命令删除一个已经存在的 key,看到 (integer) 1 表示删除成功 
127.0.0.1:6379> del k1 
(integer) 1
dump 命令
# 通过 dump 命令序列化已经存在的 key,并返回序列化后的值 
127.0.0.1:6379> dump k1 
"\x00\x06action\t\x00|0\xd1\xd31|-r"
exists 命令
# 通过 exists 命令来判断给定 key 是否存在,如果存在,返回 1,否则返回 0 
127.0.0.1:6379> exists k1 
(integer) 1 
127.0.0.1:6379> exists k2 
(integer) 0
TTL 命令
# 通过 ttl 命令 查询 key 的过期时间 
# -1 表示 key 存在并且没有设置过期时间(永久有效)
# -2 表示 key 不存在或者已过期 
127.0.0.1:6379> ttl k1 
(integer) -1 
127.0.0.1:6379> ttl action 
(integer) -2
expire 命令
# EXPIRE 命令可以给 key 设置有效期,在有效期过后,key 会被销毁,second 表示秒数 
127.0.0.1:6379> expire k1 second 
(integer) 1
persist 命令
PERSIST 命令表示移除一个 key 的过期时间,这样该 key 就永远不会过期
pexpire 命令
# PEXPIRE 命令的功能和 EXPIRE 命令的功能基本一致,只不过这里设置的参数是毫秒 
127.0.0.1:6379> PEXPIRE k1 60000
(integer) 1
PTTL 命令
# PTTL 命令和 TTL 命令基本一致,只不过 PTTL 返回的是毫秒数 
127.0.0.1:6379> PTTL k1 
(integer) 25421
KEYS 命令
# KEYS 命令可以获取满足给定模式的所有 key 
# KEYS * 表示获取所有的 KEY, * 也可以是一个正则表达式。 
127.0.0.1:6379> KEYS * 
1) "k3" 
2) "k2" 
3) "k1"
OK,key 相关的命令我们就介绍这么多,当然还有很多其他的,小伙伴们可以参考官方文档。小伙伴在看官方文档时,有什么问题欢迎留言讨论。

posted @ 2020-12-08 22:26  十郎  阅读(126)  评论(0编辑  收藏  举报