Redis
文章平均质量分 78
小关同学喜欢吃汉堡
这个作者很懒,什么都没留下…
展开
-
Redis初学17:集群
集群简介Redis 集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布存储在这N个节点中,每个节点存储总数据的1/N。Redis 集群通过分区(partition)来提供一定程度的可用性(availability): 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。集群搭建这次实在电脑开不了那么多台虚拟机,就在一台服务器上模拟了。集群的搭建最少需要6个节点我们既然要搭建集群,那么master节点至少要3个,slave节点也是3个,为什么呢?原创 2021-07-21 15:34:02 · 366 阅读 · 1 评论 -
Redis初学16:主从复制
主从复制简介主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主,如下图:好处:1.读写分离,性能扩展2.容灾快速恢复搭建我这里准备了三台Linux设备(一台阿里云服务器,两台虚拟机),服务器当主机,两台虚拟机当从机。我在两台虚拟机上面也安装了Redis。过程:启动三台设备上的Redis服务然后使用info replication命令查看主从复制的相关信息一般显示的信息都如下图所示:我们可以看到,一开始,原创 2021-07-20 19:46:53 · 80 阅读 · 1 评论 -
Redis初学:14(Redis中的事务)
Redis中的事务Redis的事务定义Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。Redis事务的主要作用就是串联多个命令防止别的命令插队。Redis中的事务操作Multi、Exec、discard从输入Multi命令开始,输入的命令都会依次进入命令队列中,但不会执行,直到输入Exec后,Redis会将之前的命令队列中的命令依次执行。组队的过程中可以通过discard来放弃组队。事务的错误处理案例:原创 2021-07-16 16:10:47 · 97 阅读 · 0 评论 -
Redis初学:11(Redis的配置文件)
Redis的配置文件Units单位配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit。大小写不敏感,可以用大写也可以用小写。Includes包含类似jsp中的include,多实例的情况可以把公用的配置文件提取出来。Network网络方面的配置bind如下图:默认情况bind=127.0.0.1只能接受本机的访问请求。不写的情况下,无限制接受任何ip地址的访问,生产环境肯定要写你应用服务器的地址;而服务器是需要远程访问的,所以这里我们需要将其注释掉如果开原创 2021-06-20 15:38:47 · 75 阅读 · 0 评论 -
Redis初学:9(Zset类型)
Zset(有序集合)类型简介Redis里面的有序集合Zset和集合Set非常相似,都是一个没有重复元素的字符串集合。不同之处是有序集合Zset里面的每个成员都关联了一个评分(score),这个score被用来按照从最低分到最高分的方式排序集合中的元素。集合中的成员是唯一的,但是评分可以是重复的。因为集合中的元素是有序的,所以我们可以很快地根据评分(score)来获取某个范围内的元素底层数据结构SortedSet(Zset)是Redis提供的一个非常特别的数据结构,一方面它等价于Java里面的M原创 2021-06-20 14:20:29 · 98 阅读 · 0 评论 -
Redis初学:8(Hash类型)
Hash(哈希)类型简介Redis中的hash是一个键值对集合。它是一个String类型的field和value的映射表,所以它特别适合用来存储对象。如下图:Redis中的hash类似于Java中的Map<String,Object>。底层数据结构Hash类型对应的数据结构有两种:ziplist(压缩列表)和hashtable(哈希表)。当field-value长度较短且个数较少时,使用ziplist,否则使用hashtable。ziplist(压缩列表):当哈希类型元素个数原创 2021-06-19 17:34:53 · 237 阅读 · 0 评论 -
Redis初学:7(Set类型)
Set集合类型简介Redis里面的Set类型跟Java里面的Set一样,都是带有自动除重的,它里面不会出现重复的数据。特点:自动除重底层数据结构Redis中的Set是一个String类型的无序集合,它的底层其实是一个value值为null的hash表,所以Set的添加、删除、查找的时间复杂度都是O(1)。常用命令sadd将一个或多个member元素添加到集合key中,集合中已存在的member元素会被忽略。用法:add <key> <value1> <val原创 2021-06-19 15:21:14 · 124 阅读 · 0 评论 -
Redis初学:6(List类型)
List类型List类型的操作不同于Java中的List,它底层使用的是quicklist快速链表的形式。当插入的数据较少时,它是ziplist(压缩链表)的形式,使用连续的一段内存空间储存元素;而当数据变多了,就转换成quicklist形式,即将多个ziplist用双向链表连接在一起,这样每个节点比全使用双向链表节省了prev和next指针的空间。Set类型Set的特点就是自动除重,它的底层是一个value为null的hash表,它的添加、删除、查询的操作时间复杂度都为O(1)。在Set类型中插原创 2021-06-15 11:45:39 · 150 阅读 · 0 评论 -
Redis初学:5(String类型的基本操作)
String类型的基本操作String类型是Redis中最基本的类型,String类型有以下的一些特点:String类型是二进制安全的,这意味着String类型可以包含任何的数据,如:图片、序列化的对象等;Redis中一个String类型的value的大小最大为512M常用命令往value后追加字符串append key 追加的内容如下图:上面的11是指执行完追加操作之后,value的长度获取value的长度strlen key如下图:在key不存在时设置key的值se原创 2021-06-05 16:29:56 · 235 阅读 · 0 评论 -
Redis初学:4(Redis的常用命令)
Redis的常用命令查看所有keykeys *如下图:插入keyset key value如下图:取出key对应的value值get key如下图:查看某个key是否存在exists key如下图:1表存在这个key,0表示不存在判断某个key是什么类型type key如下图:删除指定key数据常规删除del key如下图:非常规删除根据value选择非阻塞删除unlink key作用:仅将keys从keyspace元数据中删原创 2021-06-05 14:04:21 · 90 阅读 · 0 评论 -
Redis初学:2(Redis的启动)
Redis有两种启动方式前台启动(不推荐)直接使用命令redis-server,执行结果如下图:想要退出直接按ctrl+c即可后台启动(推荐)先在redis的安装目录下复制redis.conf文件到任意一个文件夹底下然后将redis.conf里面的daemonize的值修改成yes,即允许后台启动,如下图:修改完之后执行redis-server 文件路径/redis.conf命令,将redis在后台启动,如下图:然后我们使用ps -ef | grep redis命令查看redis是否原创 2021-06-05 14:03:17 · 85 阅读 · 0 评论 -
Redis初学:1(NoSQL的简介和Redis的安装)
什么是NoSQLNoSQL数据库意即:Not Only SQL 不仅仅是SQL,它区别于传统的关系型数据库,储存方式按照的是key-value的形式存储数据,这个我们可以联想到我们以前学过的HashMap。NoSQL的特点:语法上区别于传统的SQL语句不支持ACID(事务的原子性、一致性、隔离性、持久性)远超于SQL的性能NoSQL的适用场景:海量的数据读写对数据高并发的读写对数据高可扩展性的读写我们现在要学的Redis就NoSQL型数据库。Redis的安装Redis是指Li原创 2021-06-05 14:02:49 · 102 阅读 · 0 评论