Redis数据库

论文阅读笔记:Extended Vision Transformer (ExViT) for Land Use and Land Cover Classification 注意力机制驱动的深度模型最近取得了成功,如最具代表性的视觉转换器(ViT),吸引了一波高级研究来探索它们对更广泛领域的适应。然而,遥感(RS)领域中基于Transformer的方法更关注单模态数据,这可能会在充分利用不断增长的多模态地球观测数据时失去可扩展性。为此,我们提出了一种新的多模式深度学习框架,通过在最小修改的情况下扩展传统的ViT,针对土地利用和土地覆盖(LULC)分类任务。 阅读详情

1. 什么是Redis

  1. redis是一款高性能的NOSQL系列的非关系型数据库
  2. 什么是NOSQL,全新的数据库概念,解决web2.0网站的高并发问题,解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。。
  3. redis的优点,简单部署,开源软件,数据存在缓存中,查询速度快。
  4. 数据存储方式,key,value,文档形式、图片形式等等,可以存储基础类型以及对象或者是集合等各种格式。
  5. redis的缺点,维护的工具和资料有限,不提供对sql的支持,不提供关系型数据库对事务的处理。
  6. 关系型数据库,与非关系型数据库的比较,非关系型数据库查询无需经过sql层的解析,所以性能高,且数据间没有耦合性,扩展性高。关系型数据库,SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。支持事务,数据安全性高。

2. 主流的NOSQL

3. Redis的数据类型

  1. 字符串类型 String
  2. 哈希类型 hash:map格式
  3. 列表类型 list: linkedlist格式。支持重复元素
  4. 集合类型 set: 不允许重复元素
  5. 有序集合类型 sortedset:不允许重复元素,且元素有顺序

4. Redis的应用场景

  1. 缓存(数据查询、短连接、新闻内容、商品内容等等)。
  2. 聊天室的在线好友列表。
  3. 任务队列。(秒杀、抢购、12306等等)
  4. 应用排行榜
  5. 网站访问统计
  6. 数据过期处理(可以精确到毫秒
  7. 分布式集群架构中的session分离

5. Redis的下载安装

官网:https://redis.io
中文网:http://www.redis.net.cn/
解压直接可以使用:
redis.windows.conf:配置文件
redis-cli.exe:redis的客户端
redis-server.exe:redis服务器端

6. Redis命令

  1. 字符串类型 string
    *存储: set key value
    *获取: get key
    *删除: del key
  2. 哈希类型 hash
    *存储: hset key field value
    *获取:hget key field: 获取指定的field对应的值,hgetall key:获取所有的field和value。
    *删除: hdel key field
  3. 列表类型 list:可以添加一个元素到列表的头部(左边)或者尾部(右边)
    *添加:lpush key value: 将元素加入列表左表,rpush key value:将元素加入列表右边
    *获取: lrange key start end :范围获取
    *删除:lpop key: 删除列表最左边的元素,并将元素返回,rpop key: 删除列表最右边的元素,并将元素返回。
  4. 集合类型 set : 不允许重复元素
    *存储:sadd key value
    *获取:smembers key:获取set集合中所有元素
    *删除:srem key value:删除set集合中的某个元素
  5. 有序集合类型 sortedset:不允许重复元素,且元素有顺序.每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
    *存储:zadd key score value(score 指的是排序位置,可以是1、2、3、4、…,存进去的数据会根据这排序排列)
    *获取:zrange key start end [withscores]
    *删除:zrem key value
  6. 其他通用命令
    keys(空格) * : 查询所有的键
    type key : 获取键对应的value的类型
    del key:删除指定的key value

7. Jedis的使用

  1. String
private static void stringJedis() {
	//1.实例化Jedis对象
	Jedis jedis = new Jedis("localhost",6379);
	//2.String操作
	jedis.set("username","zhangsan");//set key value
	jedis.get("username");//get key value
	jedis.setex("age", 10, "12");// 特殊方法,创建key,value,10秒后删除
	jedis.close();//关闭连接
	}
  1. hash
private static void hashJedis() {
	//1.实例化Jedis对象
	Jedis jedis = new Jedis("localhost",6379);
	//2.Hash操作
	jedis.hset("user", "name", "段延庆");//添加
	jedis.hset("user", "age", "32");
	jedis.hset("user", "gender", "男");
	String hget = jedis.hget("user", "name");//获取
	System.out.println(hget);
	jedis.hdel("user", "name","age");//删除
	String hget2 = jedis.hget("user", "name");//获取
	System.out.println("获取"+hget2);//null
	jedis.close();//关闭连接
	}
  1. list
private static void listJedis() {
	//1.实例化Jedis对象
	Jedis jedis = new Jedis("localhost",6379);
	//2.List操作
	jedis.lpush("shuangfeiren", "A","B","C");//左添加
	jedis.rpush("shuangfeiren", "A","B","C");//右添加
	String lpop = jedis.lpop("shuangfeiren");//左弹出
	System.out.println(lpop);
	String rpop = jedis.rpop("shuangfeiren");//右弹出
	System.out.println(rpop);
	List<String> lrange = jedis.lrange("shuangfeiren", 0, -1);//获取指定元素
	System.out.println(lrange);
	jedis.close();//关闭连接
		
	}
  1. set
private static void setJedis() {
	//1.实例化Jedis对象
	Jedis jedis = new Jedis("localhost",6379);
	//2.Set操作
	jedis.sadd("setAdd", "A","A","B");//添加
	Set<String> smembers = jedis.smembers("setAdd");//获取
	jedis.srem("setAdd", "A");//删除
	Set<String> smembers2 = jedis.smembers("setAdd");//获取
	System.out.println(smembers2);
	jedis.close();//关闭连接
	}
  1. storedSet
private static void sortedJedis() {
	//1.实例化Jedis对象
	Jedis jedis = JedisUites.getJedis();
	//2.sortedSet操作
	jedis.zadd("paihangban", 500, "亚瑟");
	jedis.zadd("paihangban", 1000, "李白");
	jedis.zadd("paihangban", 950, "韩信");
	jedis.zadd("paihangban", 99999,"99999");
	jedis.zrem("paihangban", "99999");
	Set<String> zrange = jedis.zrange("paihangban", 0, -1);
	System.out.println(zrange);
	jedis.close();//关闭连接
	}

8.连接池的使用

public class JedisUites {
	private static JedisPool jedisPool;
	static {
		try {
			//1.读取配置文件
			Properties properties = new Properties();
			properties.load(JedisUites.class.getClassLoader().getResourceAsStream("jedis.properties"));
			//2.获取JedisPoolConfig配置对象
			JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
			jedisPoolConfig.setMaxTotal(Integer.parseInt(properties.getProperty("maxTotal")));
			jedisPoolConfig.setMaxIdle(Integer.parseInt(properties.getProperty("maxIdle")));
			//3.获取连接池对象
			jedisPool = new JedisPool(jedisPoolConfig,properties.getProperty("host"),Integer.parseInt(properties.getProperty("port")));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	/**
	 * 获取Jedis
	 */
	public static Jedis getJedis() {
		return jedisPool.getResource();
	}
}

9.案例

信创那些事儿——Spring Boot中集成东方通中间件(TongWeb) 在Spring Boot中集成东方通中间件(如TongWeb作为Servlet容器)通常涉及几个步骤,但需要注意的是,TongWeb本身是一个独立的Java EE应用服务器,而不是像Tomcat那样可以直接嵌入到Spring Boot应用中的中间件。因此,集成通常意味着将Spring Boot应用打包为WAR文件并部署到TongWeb服务器上。 阅读详情

相关推荐

Isaacgym使用操作指南

Isaac Gym 是一个强大的仿真工具,特别适合那些需要进行大规模并行仿真和训练的机器人和强化学习任务。通过 GPU 加速、深度学习集成和丰富的物理仿真能力,Isaac Gym 能够显著提高仿真和训练效率,是机器人学和 AI 研究中的一大利器。

Tony Wey的博客 1万+

springboot连接redis并动态切换database(db0到db15)

redis db0到db15 可以理解为数据库表这是redis默认提供的16个表 我们可以把不同的数据存在不同的db上 取得时候可以在不同的db拿到不同类型数据 @Test public void contextLoads() { for (int i = 0; i <= 2; i++) { LettuceConnectionFactory lettuceConnectionFactory ...

weixin_43564627的博客 1万+

SMETANA 安装使用教程

关于SMETANA的安装和简单使用信息

qq_44940977的博客 1171

redis db0 db1 linux

我整理的一些关于【Linux】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/xltfov实现 Redis 数据库的操作:db0 和 db1 在现代应用开发中,Redis作为一种高效的内存数据库,广泛用于缓存和数据存储。本文将详细介绍如何在Linux环境下使用Redis,并实...

weixin_40443794的博客 524

pytorch图像分类篇: 花分类数据集下载和AlexNet网络搭建训练

一、花分类数据集下载 data_setdata_set该文件夹是用来存放训练数据的目录 使用步骤如下: (1)在data_set文件夹下创建新文件夹"flower_data" (2)点击链接下载花分类数据集 (3)解压数据集到flower_data文件夹下 (4)执行"flower_data.py"脚本自动将数据集划分成训练集train和验证集val ├── flower_data ├── flower_photos(解压的数据集文件夹,3670个样本) ...

橙子的博客 8219

Qt QWebEngine实战:手把手教你将Vue3/React前端项目嵌入C++桌面程序

本文详细介绍了如何利用Qt的QWebEngine模块将Vue3/React前端项目无缝嵌入C++桌面程序,实现现代前端框架与原生C++的深度整合。通过环境准备、项目架构设计、前端适配、Qt端集成、双向通信建立及性能优化等步骤,开发者可以高效构建兼具Web灵活性和本地系统能力的混合应用。

weixin_28736355的博客 390

redis配置的时候database是什么意思

Redis配置中的Database概述 Redis作为一个高性能的内存缓存和数据库,广泛应用于各种应用场景中。许多人在使用Redis时,会遇到“database”这个概念。那么,数据库在Redis配置中到底意味着什么呢?本文将为你解答这个问题。 什么是Redis中的Database? 在Redis中,数据库是一个命名空间,...

weixin_29467373的博客 1390

[模型部署]-[LLM]昇腾部署Qwen3-Coder-30B-A3B-Instruct

摘要:本文介绍了在Ascend NPU上部署Qwen3-Coder-30B-A3B-Instruct大模型的实践过程。通过vLLM-Ascend框架,详细说明了环境准备(CANN 8.1、PyTorch-NPU 2.5.1等)、模型下载、容器启动及服务部署步骤,包括vLLM服务的启动参数配置和接口测试方法。测试结果显示在当前2卡910B3配置下性能表现仅为8token/s(1并发),并指出流式调用时存在无法输出usage信息的问题。该方案为Ascend平台私有化部署大模型推理服务提供了参考实现。

1672

redis设置database 不生效剖析

redis 设置database 不生效原因剖析

爱媳妇儿爱编程 6569

电磁炉线圈加热仿真全流程:用Ansys Maxwell分析涡流效应与热损耗

本文详细介绍了使用Ansys Maxwell进行电磁炉线圈加热仿真的全流程。通过构建2D轴对称涡流场模型,深入分析了高频下的涡流效应、趋肤效应与热损耗分布,为优化线圈设计、提升加热效率与均匀性提供了量化依据和实用指南。

sss66的博客 970

11、系统稳定性分析与李雅普诺夫函数的应用

本文深入探讨了李雅普诺夫函数在系统稳定性分析中的核心作用,重点介绍了时变与时不变系统的稳定性判据差异,以及巴尔巴拉特引理在处理非自治系统中的应用。文章还阐述了正线性系统与严格正实传递函数的性质及其在非线性控制系统中的重要性,并展示了李雅普诺夫函数在评估主导时间常数和设计快速干扰抑制控制策略方面的实际应用。通过具体示例和流程图,系统地总结了李雅普诺夫方法在稳定性分析、性能评估与控制器设计中的多维度价值,同时指出了当前挑战与未来发展方向。

Jerry的专栏 93

Redis、MySQL、hive、hbase的区别以及数据库及数据仓库的比较

redis:分布式缓存,强调缓存,基于内存 传统数据库:注重关系,注重事务性 hbase:列式数据库,字典查询,稀疏性存储,无法做关系数据库的主外键,用于存储海量数据,底层基于hdfs hive:数据仓库工具,底层是mapreduce。不是数据库,不能用来做用户的交互存储 HBase和Redis都是基于Key、Value的数据库。 ...

qq_39682761的博客 7459

KNN算法实现数据分类及matlab完整代码

其基本思想是:对于一个未知样本,找出与该样本距离最近的k个已知样本,然后根据这k个样本的类别来确定该未知样本的类别。在本文中,我们采用iris数据集,该数据集包含四个属性:花萼长度、花萼宽度、花瓣长度、花瓣宽度,以及三个类别:山鸢尾、变色鸢尾、维吉尼亚鸢尾。KNN算法具有简单、直观、易于理解等特点,适用于多分类和二分类问题,但其计算复杂度随着样本数量的增加而增加,也容易受异常值影响。在KNN算法中,常用的距离函数有欧氏距离、曼哈顿距离等。(2)选择距离最近的k个样本,并根据它们的类别来确定未知样本的类别。

qq_39605374的博客 1516

redis切换查询数据库 db0到db3

切换到db3 SELECT 3 切换到db0 SELECT 0

weixin_33387378的博客 1449

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

php redis database,redis有多少个默认db

Redis支持多个数据库,并且每个数据库的数据是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念。Redis是一个字典结构的存储服务器,而实际上一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。这与我们熟知的在一个关系数据库实例中可以创建多个数据库类似,所以可以将其中的每个字典都理解成一个独立的数据库。每个数据库对外都是一个从0开始的递增数字命名,...

weixin_39616798的博客 411

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Redis 的DB多个数据库使用

Redis自己安装默认提供了16个数据库. 每个数据库都有一个id, 从0开始,(0,15)。 不同的数据库中数据隔离保存。我们可以通过修改redis的配置文件进行修改数据库的数量。 /etc/redis/redis.conf 文件中,有个配置项 databases = 16 (默认有16个数据库) 阿里云、腾讯云云数据库Redis版有256个DB,从DB0到DB255。 数据库是由一...

jijinduoduo的博客 3117

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

redis连接指定database

我整理的一些关于【数据】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/eDOcp1Redis连接指定Database的全面解析 Redis是一个开源的内存数据结构存储系统,广泛应用于缓存、数据库、消息中间件和任务队列等领域。因为其高速的性能和丰富的功能,许多开发者在项目中选...

weixin_41276257的博客 545

Redis指定db存储教程

今天,日月教大家如何存储数据到redis的指定db中,熟悉redis的都知道,redis默认是有16个db的,如图: 上图中redis图形化管理工具安装请查看:Redis管理工具TreeNMS OK,为了节省时间,我们直接在之前的 springBoot集成redis 该项目基础上修改。 一、修改RedisUtils 新增三个方法: /** * * @Title: set ...

真的愿意去努力,人生最坏的结果,也不过是大器晚成。 1万+

redis切换db0的命令

我整理的一些关于【数据库】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/bLN8S1Redis 切换数据库(DB0)的命令解析 Redis 是一种高性能的键值存储数据库,被广泛应用于缓存、消息代理等场景。在 Redis 中,用户可以使用多个逻辑数据库,每个数据库由一个整数索...

weixin_42096590的博客 545

Redis Database Number

Redis Database Number 转自http://blog.teeceepee.com/blog/2015/02/14/redis-db-number/ Redis 使用 DB number 实现类似关系型数据库中 schema 的功能。不同 DB number 表示的数据库是隔离的,但是目前只能使用数字来表示一个数据库,Ubuntu 默认的配置文件配置了16个数据库,DB num...

宅神的博客 2257

Redis的命令登录和database切换操作

Redis的命令登录和database切换操作 cmd本地登录: 配置文件:requirepass 123456 127.0.0.1:6379> auth 123456 OK redis的database Redis默认提供了16个数据库(database),每个数据库有一个id,从0到15,他们没有名字,只有id, 不同的数据库中数据隔离保存。 配置文件中修改数据库个数,启动时提供32个数据库: databases 32 用select id命令可以切换当前数据: 127.

weixin_39249427的博客 2772

Redis连接DB0查到DB3数据之谜

Redis多数据库机制在单机模式下支持16个逻辑数据库(db0-db15),各库键空间独立。但在集群模式下仅支持DB0,所有数据都存储在同一个库中。这是因为集群采用槽位分片机制,多数据库会导致key冲突和分布式管理问题。当在DB0看到"DB3数据"时,实际是集群模式下所有数据都被写入DB0的结果。建议单机/主从/Sentinel模式下可使用多库分离数据,而集群环境应通过key前缀区分数据。排查此类问题时需确认是否集群模式,检查SELECT命令是否被忽略。理解这一机制可避免数据混乱,并正确

Annieblog的博客 768

明明连接的是Redis的DB0,为什么能查到DB3的数据?

发过程中,图简单省事,Redis 一般会采用单机模式部署Spring Boot 应用连接 Redis 配置很简单如上配置连接的是 Redis 的DB8数据库。有些时候为了节省资源,开发环境与测试环境会共用 Redis,用不同的库进行隔离,比如开发环境用DB8,测试环境用我们用同个应用,用开发配置启动一个实例,用测试配置也启动一个实例,看彼此之间是否做到数据隔离了开发环境配置:application-dev.yml测试环境配置:application-test.yml。

HnBHro86v的博客 232

redis:db0-db15

1. redis 数据库db0-db15 默认情况下,redis会生成0-15号共16个db,以供不同情境使用的需要 不同的数据库下,相同的key各自独立 2. 修改数据库的个数 修改redis的配置文件(redis.conf)可修改db的个数,只能修改配置文件来生效 # redis 配置文件中 databases 16 修改配置文件后需重启才能生效 3. 切换数据库--SELECT ...

疯一样的女子 1万+

redis 中如何切换db

redis 中如何切换db redis数据库个数是可以配置的,默认为16个 如上图 我们如何切换呢? 我在redis客户端查询如下 通过用select N 你想要的数据库 就能切到对应的数据库去了 每个数据库的key值不会冲突,是分开存储的 java代码中如何切换redis db? Jedis jedis = RedisUtil.getJedis(); //切换redis 数...

程序员一代码搬运工 294

redis db0-db15

redis 数据库db0-db15 默认情况下,redis会生成0-15号共16个db,以供不同情境使用的需要不同的数据库下,相同的key各自独立 修改数据库的个数 修改redis的配置文件(redis.conf)可修改db的个数,只能修改配置文件来生效 redis 配置文件中 databases 16 修改配置文件后需重启才能生效 切换数据库--SELECT在redis-cli下 切...

weixin_34150224的博客 1260
上一篇: 数组排序
下一篇: maven
RestartJava
博客等级 码龄7年 1粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值