【redisson学习笔记】
1)clone项目
git clone https://github.com/redisson/redisson.git
本来想直接用maven编译源码, 却发现各种错误,主要是maven的编译插件版本问题。
2)然后用maven包方式引入
<dependencies><dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.23.5</version></dependency></dependencies>
3)RedissonManager.java
package org.example.redis;import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;public class RedisManager {private static RedisManager INSTANCE = new RedisManager();private RedissonClient redisson;public static RedisManager inst() {return INSTANCE;}public void init() {Config config = new Config();config.useSingleServer().setAddress("redis://127.0.0.1:6379");this.redisson = Redisson.create(config);System.out.println("redisson init success!");}public RedissonClient getRedisson() {return redisson;}
}
4)Main.java
package org.example;import org.example.redis.RedisManager;
import org.redisson.api.RMap;
import org.redisson.api.RedissonClient;import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;public class Main {public static void main(String[] args) {RedisManager.inst().init();RedissonClient redisson = RedisManager.inst().getRedisson();RMap<String, List<String>> map = redisson.getMap("id:map");List<String> list = new ArrayList<>();list.add("abc");list.add("defg");map.put("1", list);RMap<String, List<String>> map1 = redisson.getMap("id:map");List<String> strings = map1.get("1");strings.remove(0);System.out.println(map1);}
}
1.突然想起来,其实我不需要去编译源码啊,直接关联起来源码不就可以调试了嘛。所以,我关联了源码就开始了调试,非常方便。
2.我们可以用断点,查看出RMap的实现是:RedissonMap,为啥取出List后在修改就不生效呢?
这是因为我们发现RMap的put执行时,其实是把value进行了编码,所以才能存下来。
5)源码查看
1.redisson
org.redisson.api
这个肯定是最重要的包了,我们开发用的接口都在这,像RMap等。
相关文章:
【redisson学习笔记】
1)clone项目 git clone https://github.com/redisson/redisson.git本来想直接用maven编译源码, 却发现各种错误,主要是maven的编译插件版本问题。 2)然后用maven包方式引入 <dependencies><dependency><groupId>org.redisson</gr…...
gurobi属性篇一
1.构造目标函数 (1)一般的写法: 我们常见的目标函数写法通常是定义好式子zf(x,y,...),然后用m.setObjective(z, GRB。MINIMIZE),这样的定义方式比较普遍。 这也是一般的写法。 (2)但还有一种写法…...
【python数据建模】Pandas库
概述 Pandas库主要提供了三种数据结构: (1)Series:带标签的一维数据 (2)DataFrame:带标签且大小可变的二维表结构 (3)Panel:带标签且大小可变的三维数据 Pan…...
Flutter笔记:关于应用程序中提交图片作为头像
Flutter笔记 关于应用程序中提交图片作为头像 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/133418554…...
【C++】C++的类型转换
文章目录 1. C语言中的类型转换2. C中的类型转换2.1 static_cast2.2 reinterpret_cast2.3 const_cast2.4 dynamic 1. C语言中的类型转换 在C语言中,经常会出现一种情况:运算符两边的类型不同,或者形参实参类型不匹配,此时就会发生…...
ahk系列——ahk_v2实现win10任意界面ocr
前言: 不依赖外部api接口,界面简洁,翻译快速,操作简单, 有网络就能用 、还可以把ocr结果非中文翻译成中文、同样可以识别中英日韩等60多个国家语言并翻译成中文,十分的nice 1、所需环境 windows10及其以上…...
linux下端口映射
linux下端口映射 1. 允许数据包转发 echo 1 >/proc/sys/net/ipv4/ip_forwardiptables -t nat -A POSTROUTING -j MASQUERADEiptables -A FORWARD -i [内网网卡名称] -j ACCEPTiptables -t nat -A POSTROUTING -s [内网网段] -o [外网网卡名称] -j MASQUERADE# 例:…...
C++ 迭代器(iterator)
迭代器介绍 迭代器(iterator):容器类型内置的“指针” - 使用迭代器可以访问某个元素,迭代器也能从一个元素移动到另一个元素。 - 有迭代器的类型都拥有 begin 和 end 成员- begin:返回指向第一个元素(或字…...
基于Python3搭建qt开发环境
Python可视化编程相信大部分刚接触都是tkinter,tkinter是Python自带的库,不需要安装第三方库即可使用,在我的Python专栏中也有很多基于tkinter来设计的可视化界面。本篇文章将尝试另外一个Python的可视化编程库(pyqt),与tkinter编…...
Linux常见操作命令(1)
前言:作者也是初学Linux,可能总结的还不是很到位 ♈️今日夜电波:达尔文—林俊杰 0:30━━━━━━️💟──────── 4:06 🔄 ◀️ …...
GEO生信数据挖掘(一)数据集下载和初步观察
检索到目标数据集后,开始数据挖掘,本文以阿尔兹海默症数据集GSE1297为例 目录 GEOquery 简介 安装并加载GEOquery包 getGEO函数获取数据(联网下载) 更换下载数据源 对数据集进行初步观察处理 GEOquery 简介 GEOquery是一个…...
Tensorflow2 GPU 安装方法
一、Tensorflow2 GPU 安装方法 1. 首先安装Anaconda3环境2. 在Anaconda Prompt 中安装tensorflow23. 验证GPU是否可以使用 1. 首先安装Anaconda3环境 https://www.anaconda.com/ 2. 在Anaconda Prompt 中安装tensorflow2 conda update conda conda create -n tensorflow pyt…...
QSS之QLineEdit
QLineEdit我们在开发过程中是经常使用的,一般情况下默认的风格是不适合设计师的要求,本篇介绍QLineEdit的基本qss风格: 1.基本属性设置 QLineEdit{background-color:#FFFFFF;color:#333333;border:none;} 2.悬浮状态设置 QLineEdit:hover…...
在比特币上支持椭圆曲线 BLS12–381
通过使用智能合约实现来支持任何曲线 BLS12–381 是一种较新的配对友好型椭圆曲线。 与常用的 BN-256 曲线相比,BLS12-381 的安全性明显更高,并且安全目标是 128 位。 所有其他区块链,例如 Zcash 和以太坊,都必须通过硬分叉才能升…...
简单讲解 glm::mat4
文章目录 前言一、下载glm库二、基本数学知识1. 三维中的 4 x 4 矩阵2.旋转3. 位移4. 缩放5. 组合 三、行向量或列向量四、总结 前言 glm库是OpenGL的官方数学库,里面内置多种跟几何变换相关的函数,熟练掌握glm库可以省下很多麻烦。 因为最近在项目中主…...
第3章-指标体系与数据可视化-3.1.1-Matplotlib绘图库
目录 3.1 Python可视化 3.1.1 Matplotlib绘图库 1. 线图 2. 饼图 3. 条形图 4. 直方图 5.散点图...
探索视听新纪元: ChatGPT的最新语音和图像功能全解析
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🐅🐾猫头虎建议程序员必备技术栈一览表📖: 🤖 人工智能 AI: 🧠 Machine …...
华为乾坤区县教育安全云服务解决方案(1)
华为乾坤区县教育安全云服务解决方案(1) 课程地址方案背景客户痛点分析区县教育网概述区县教育网业务概述区县教育网业务安全风险分析区县教育网安全运维现状分析区县教育网安全建设痛点分析 安全解决方案功能概述架构概述方案架构设备选型 课程地址 本…...
《Jetpack Compose从入门到实战》第三章 定制 UI 视图
目录 配置颜色、字体与形状Welcome PageLogin PageHome Page 主题CompositionLocal 配置颜色、字体与形状 -ui.theme.Color.kt val pink100 Color(0xFFFFF1F1) val pink900 Color(0xFF3F2C2C) val white Color(0xFFFFFFFF) val white850 Color(0xD9FFFFFF) val gray Col…...
Kubernetes组件和架构简介
目录 一.概念简介 1.含义: 2.主要功能: 3.相关概念: 二.组件和架构介绍 1.master:集群的控制平面,管理集群 2.node:集群的数据平面,为容器提供工作环境 3.kubernetes简单架构图解 一.概…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
