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常用数据类型
数据类型 说明
String Redis中最基本的数据类型,二进制安全的,它可以包含任意数据类型。如图片。Redis中String类型的数据上限的512M
List Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 – 1 个元素 (4294967295, 每个列表超过40亿个元素)。
Hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 232 – 1 键值对(40多亿)。
Set Set 是 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
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
7. 本站有不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!
66源码网 » redis简介与常用数据类型介绍
