- 博客(27)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 7、Redis发布订阅
开启3个客户端,演示客户A、B订阅消息,客户端C发布消息。推荐先订阅后再发布,订阅成功之前发布的消息是收不到的。消息的种类、始发频道的名称、实际的消息内容。(本节应用较少,了解即可)演示批量订阅和发布。
2023-04-27 11:39:07
68
原创 6、Redis管道
批处理命令变种优化措施,类似Redis的原生批命令(mset和mget管道可以一次发送多条命令给服务端,服务端依次处理完毕后,通过一条响应一次性将结果返回,通过减少客户端与redis的通信次数来实现降低往返延时时间。管道的实现原理是队列,先进先出特性就保证数据的顺序性。管道与原生批量命令对比:mset,mget),管道是非原子性。原生批量命令一次只能执行一种命令,管道是支持批量执行不同的命令。原生批量命令是服务端实现,而管道需要服务端与客户端共同完成。
2023-04-27 10:55:15
65
原创 5、Redis事务
是什么可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其他命令插入,不许加塞。能干嘛一个队列中,一次性、顺序性、排他性的执行一系列命令。Redis事务 VS 数据库事务单独的隔离操作Redis事务仅仅是保证事务里面的操作会被连续独占地执行,Redis命令执行是单线程框架,在执行完事务内所有指令前是不可能再去同时执行其他客户端的请求。没有隔离级别的概念。
2023-04-26 16:26:53
75
原创 3、redis 十大数据类型
string是redis最基本的类型,一个key对应一个value。string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象。string类型是redis最基本的数据类型,一个redis中字符串value最多可以是512M。SET该SETEX秒--以秒为单位设置指定的过期时间。(秒)OKPX毫秒--设置指定的过期时间,以毫秒为单位。OKEXAT--设置密钥将过期的指定Unix时间,以秒为单位。PXAT。
2023-04-20 21:29:35
157
原创 2、Redis 安装和配置
后将它放入我们的Linux目录/opt。拷贝到自己定义好的一个路径下,比如。目录下与 redis 相关的文件。,版本要求大于等于4.8.5。配置文件改完后确保生效,配置文件做初始化设置(
2023-04-17 15:45:58
59
原创 1、Redis 概述
Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写,遵守BSD协议,是一个高性能的key-value数据库提供了丰富的数据结构,例如stringHashListSetSortedSet等等。数据是存在数据库中的,同时 Redis 支持事务、持久化、LAU 脚本、发布/订阅、缓存淘汰、流技术等多种功能特性提供了主从模式、和集群架构方案。
2023-04-17 15:42:32
34
原创 synchronized与lock的对比
synchronized与lock的对比 Lock是显示锁(手动开启和关闭锁,别忘记关闭锁),synchronized是隐式锁,出了作用域自动释放 Lock只有代码块锁,synchronized有代码块锁和方法锁 使用Lock锁,JVM将花费较少的时间来调度线程,性能更好,并且具有更好地拓展性(提供更多的子类) 优先使用顺序 Lock>同步代码块(已经进入了方法体,分配响应资源)>同步方法(在方法体之外) ...
2022-01-03 22:30:35
2718
原创 同步块和同步监视器
同步块 synchronized(Obj){} Obj被称为同步监视器 Obj可以是任何对象,但是推荐使用共享资源作为同步监视器 同步方法中无需指定同步监视器,因为同步方法的同步监视器是this,就是这个对象本身,或者是class 同步监视器执行过程 第一个线程访问,锁定同步监视器,执行其中代码 第二个线程访问,发现同步监视器被锁定,无法访问 第一个线程访问完毕,解锁同步监视器 第二个线程访问,发现同步监视器没有锁,然后锁定并访问
2022-01-03 21:32:51
657
原创 多线程之龟兔赛跑
//模拟龟兔赛跑public class Race implements Runnable { //胜利者 private static String winner; @Override public void run() { for (int i = 1; i < 101; i++) { //模拟兔子休息 if(Thread.currentThread().getName().equals("兔子".
2022-01-02 16:54:52
49
原创 super和this区别
super和this区别super super调用父类的构造方法,必须在构造方法的第一个 super必须只能出现在子类的方法或构造方法中 super和this不能同时调用构造方法 Vs this 代表的对象不同 super:代表父类对象的应用 this:本身调用者这个对象 前提 super:只能在继承条件才可以使用 this:没有继承也可以使用 构造方法 super:父类的构造 this:本类的构造 ...
2022-01-01 09:55:08
966
原创 next()和nextLine()区别
next()和nextLine()区别next() 一定要读取到有效字符后才可以结束输入。 对输入有效字符后遇到的空白,next()方法会自动将其去掉。 只有输入有效字符后将其后面输入的空白作为分隔符或者结束符。 next()不能得到带有空格的字符串。 nextLine() 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。 可以获得空白。 ...
2021-12-30 22:35:48
61
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人