redis简介与常用数据类型介绍

一、redis简介

  • 概念:redis,全称是remote dictionary server(远程字典服务器), 免费开源,使用c语言开发。redis是一个高性能的key-value键值对分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库(非关系型数据库)。
  •  
  • 特点
  • a. redis支持持久化(rdb和aof两种方式),可以将内存中的数据持久化到磁盘,当redis重启时可以恢复数据;
  • b. 除了支持key-value键值对,还支持list列表、set无序列表、zset有序列表、hash散列等数据结构存储;
  • c. 支持数据的备份,即主从模式master-slave模式以及哨兵模式Sentinel;

二、redis能干啥?

  • a. 内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务;
  • b. 支持事务transaction,但是不保证事务的原子性,即可以允许一组命令中的一部分成功,另一部分失败;
  • c. 模拟类似于HttpSession这种需要设定过期时间的功能;
  • d. subcribe/publish发布、订阅消息系统;
  • e. 定时器、计数器;
  • f. 主从复制、哨兵模式备份数据等;

三、常用数据类型介绍

在redis中常用的数据类型主要有五种:String、List、Set、Hash、ZSet。redis中的数据都是key - value键值对,这里的数据类型指的是value的值的类型。下面通过一个表格说明这五种数据类型的区别:

redis常用数据类型
数据类型说明
StringRedis中最基本的数据类型,二进制安全的,它可以包含任意数据类型。如图片。Redis中String类型的数据上限的512M
ListRedis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。
Hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
SetSet 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
ZSet有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

【a】String(字符串)

  • String是redis最基本的类型,一个key对应一个value;
  • String类型是二进制安全的,意思是redis的string可以包含任何数据。比如ipg图片或者序列化的对象;
  • String类型是Redis最基本的数据结构,一个redis中字符串value最多可以是512M;

【b】List(列表)

  • Redis List列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边);
  • 它的底层是一个链表;

【c】Hash(哈希)

  • Redis Hash是一个键值对集合;
  • Redis Hash是一个String类型的field和value的映射表,Hash特别适合用于存储对象;
  • 类似java里面的Map<String,Object>;

【d】Set(集合)

  • Redis的Set是String类型的无序集合。它是通过HashTable实现的;

【e】ZSet(有序集合)

  • Redis ZSet和Set一样也是String类型元素的集合,且不允许重复的成员;
  • 不同的是每个元素都会关联一个double类型的分数;
  • redis正是通过分数来为集合中的成员进行从小到大排序。ZSet的成员是唯一的,但分数(score)却可以重复;

四、常用命令总结

下面,我们总结几个常用的redis命令,方便以后在工作中使用。

首先当然需要先安装好redis服务,如果小伙伴们还没安装好的话可以参考上一篇博文https://blog.csdn.net/Weixiaohuai/article/details/103429412的安装教程。

我们先启动redis服务:

cd /usr/local/redis-5.0.7/bin/
redis-server ../etc/redis.conf 
redis-cli
ping

【a】select:切换数据库命令,redis中默认是16个数据库,下表从零开始(0 - 15 号库),初始默认使用0号库。

【b】dbsize:查看当前数据库的key的数量

【c】keys * :查看当前所有键

【d】exists xxx:判断某个key是否存在,存在返回1,不存在返回0

【e】move key db : 将key移到某个数据库中

【f】 expire key 秒钟:为给定的key设置过期时间

ttl key查看还有多少秒过期,-1表示永不过期,-2表示已过期

【g】type key :查看你的key是什么类型

【h】rename:修改key的名称

【i】flushdb:清空当前库

【j】flushall:通杀全部库

以上就是工作中常用的一些redis操作命令,更多的命令使用详解可以去redis中文官网http://www.redis.cn/commands.html里面参考,小伙伴们记得亲自手敲一遍哦,自己敲一遍胜过看十遍。

已标记关键词 清除标记
课程简介: 历经半个多月的时间,Debug亲自撸的 “企业员工角色权限管理平台” 终于完成了。正如字面意思,本课程讲解的是一个真正意义上的、企业级的项目实战,主要介绍了企业级应用系统中后端应用权限的管理,其中主要涵盖了六大核心业务模块、十几张数据库表。 其中的核心业务模块主要包括用户模块、部门模块、岗位模块、角色模块、菜单模块和系统日志模块;与此同时,Debug还亲自撸了额外的附属模块,包括字典管理模块、商品分类模块以及考勤管理模块等等,主要是为了更好地巩固相应的技术栈以及企业应用系统业务模块的开发流程! 核心技术栈列表: 值得介绍的是,本课程在技术栈层面涵盖了前端和后端的大部分常用技术,包括Spring Boot、Spring MVC、Mybatis、Mybatis-Plus、Shiro(身份认证与资源授权跟会话等等)、Spring AOP、防止XSS攻击、防止SQL注入攻击、过滤器Filter、验证码Kaptcha、热部署插件Devtools、POI、Vue、LayUI、ElementUI、JQuery、HTML、Bootstrap、Freemarker、一键打包部署运行工具Wagon等等,如下图所示: 课程内容与收益: 总的来说,本课程是一门具有很强实践性质的“项目实战”课程,即“企业应用员工角色权限管理平台”,主要介绍了当前企业级应用系统中员工、部门、岗位、角色、权限、菜单以及其他实体模块的管理;其中,还重点讲解了如何基于Shiro的资源授权实现员工-角色-操作权限、员工-角色-数据权限的管理;在课程的最后,还介绍了如何实现一键打包上传部署运行项目等等。如下图所示为本权限管理平台的数据库设计图: 以下为项目整体的运行效果截图: 值得一提的是,在本课程中,Debug也向各位小伙伴介绍了如何在企业级应用系统业务模块的开发中,前端到后端再到数据库,最后再到服务器的上线部署运行等流程,如下图所示:
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值