文章目录
🍔Day24-Redis学习笔记-Redis简介以及五大基本数据类型
🍟1.什么是Redis
🍕Redis是一款基于键值对的NoSQL(Not only SQL)数据库
Redis是一个使用ANSIC编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库。从2015年6月开始,Redis的开发由Redis Labs赞助,而2013年5月至2015年6月期间,其开发由Pivotal赞助。在2013年5月之前,其开发由VMware赞助。根据月度排行网站DB-Engines.com的数据显示,Redis是最流行的键值对存储数据库。
🍕Redis具有如下特点:
- Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用,不会造成数据丢失。
- Redis支持五种不同的数据结构类型之间的映射,包括简单的Key/value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持master-slave模式的数据备份
🍕Redis具有如下功能:
- 内存存储和持久化:Redis支持异步将内存中的数据写到硬盘上,在持久化的同时不影响继续服务
- 取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的list集合里面
- 数据可以设置过期时间
- 自带发布、订阅消息系统
- 定时器、计数器
🍟2.Redis中的的五种数据类型简介
🍕五大数据类型介绍
Redis中的数据都是以key/value的形式存储的,五大数据类型主要是指value的数据类型,包含如下五种:
🍕String(字符串)
STRING是Redis中最基本的数据类型,Redis中的STRING类型是二进制安全的,即他可以包含任何数据
比如一个序列化的对象甚至一个jpg图片,要注意的是Redis中的的字符串大小上限是512M。
🍕LIST(列表)
LIST是一个简单的字符串列表,按照插入顺序进行排序,我们可以从LIST的头部(LEFT)或尾部(RIGHT)插入一个元素,也可以从LIST的头部(LEFT)或者尾部(RIGHT)弹出一个元素
🍕HASH(哈希)
HASH类似于Java中的Map,是一个键值对集合,在Redis中可以用来存储对象。
🍕SET(集合)
SET是STRING类型的无序结合,不同于LIST,SET中的元素不可重复。
🍕ZSET(有序集合)
ZSET和SET一样,也是STRING类型的元素的集合,不同的是ZSET中的每一个元素都会关联一个double类型的分数,ZSET中的成员都是唯一的,但是所关联的分数可以重复。
🍜key相关的命令
由于五大数据类型的数据结构本身有差异,因此对应的命令也会不同,但是有一些命令不管对于哪种数据类型都是存在的。
首先通过redis-server redis.conf命令启动Redis,在通过redis-cli命令进入控制台中,如下:
首先我们通过set命令插入一条记录:
🥗DEL命令
看到OK表示插入成功,看到(interger)1表示数据已经删除成功。
🥗DUMP命令
DUMP命令可以序列化给定的key,并返回序列化之后的值
🥗EXISTS命令
EXISTS命令用来检测一个给定的key是否存在:
🥗TTL命令和EXPIRE命令
TTL命令可以查看一个给定key的有效时间
EXPIRE命令可以给key设置有效期,在有效期过后,key会被销毁。如下图:
如图test:students在10秒后自动销毁了
🥗PERSIST命令
PERSIST命令表示移除一个key的过期时间,这样该key就永远不会过期
🥗PEXPIRE命令
PEXPIRE命令的功能和EXPIRE命令的功能基本一致,只不过这里设置的参数是毫秒:
🥗PTTL命令
PTTL命令和TTL命令基本一致,只不过PTTL返回的是毫秒数
🥗KEYS命令
可以获取满足给定模式的所有key: