찾다
데이터 베이스RedisJava를 사용하여 Redis 데이터베이스를 운영하는 방법

Redis는 Redis와 상호 작용하여 작업 속도를 크게 향상시키는 메모리 기반 데이터베이스입니다.

먼저 일반 Maven 프로젝트를 생성하고 해당 종속성을 추가하겠습니다.

<dependencies>
		<dependency>
		    <groupId>redis.clients</groupId>
		    <artifactId>jedis</artifactId>
		    <version>3.3.0</version>
		</dependency>
		
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.72</version>
		</dependency>
  </dependencies>

그런 다음

를 사용하여 연결을 테스트할 수 있습니다(여기서는 로컬 reids 서비스를 사용합니다)

//定义主机号、端口号
		HostAndPort hostAndPort = new HostAndPort("127.0.0.1",6379);
		//连接redis服务
		Jedis jedis=new Jedis(hostAndPort);
		//ping一下
		System.out.println("服务正在运行: "+jedis.ping())
		//关闭
		jedis.close();
控制台输出PONG代表连接成功

다음으로 살펴보겠습니다. Redis의 5가지 주요 데이터 유형의 기본 작업에 대해

  • 문자열 유형

System.out.println("存入一个数据:"+jedis.set("age", "20"));
		System.out.println("存入多个数据:"+jedis.mset("name","zhangsan","sex","男"));
		
		System.out.println("获取一个数据:"+jedis.get("age"));
		System.out.println("获取多个数据:"+jedis.mget("name","sex"));
		
		System.out.println("将指定的字符串拼接在指定数据之后:"+jedis.append("name",",你好"));
		
		System.out.println("查看某个数据的长度:"+jedis.strlen("name"));
		
		System.out.println("修改某个数据的值并返回修改之前的值:"+jedis.getSet("name", "lisi"));
		
		System.out.println("判断某个数据是否存在:"+jedis.exists("name"));
		
		System.out.println("为某个数据设置失效时间(单位/s):"+jedis.expire("name", 20));
		
		System.out.println("查看某个数据的剩余生存时间(s):"+jedis.ttl("name"));
		
		System.out.println("删除一个或多个数据:"+jedis.del("name","sex"));

인쇄 결과 보기

  • Set 유형

System.out.println("向集合添加一个或多个元素:"+jedis.sadd("key1", "v1","v2","v3"));
		
		System.out.println("获取集合的元素个数:"+jedis.scard("key1"));
		
		System.out.println("返回集合中的所有元素:"+jedis.smembers("key1"));
		
		System.out.println("判断指定元素是否存在集合中:"+jedis.sismember("key1", "v1"));
		
		System.out.println("移除集合中指定的元素:"+jedis.srem("key1", "v3"));
		
		//这里我们在创建一个集合
		System.out.println("向集合添加一个或多个元素:"+jedis.sadd("key2", "v2","v3","v4"));
		
		System.out.println("返回集合key1与key2的差集:"+jedis.sdiff("key1","key2"));
		System.out.println("返回集合key1与key2的交集:"+jedis.sinter("key1","key2"));
		System.out.println("返回集合key1与key2的并集:"+jedis.sunion("key1","key2"));

결과 보기

  • Hash 유형

	Map map=new HashMap<>();
		map.put("name", "zhangsan");
		map.put("age", "20");
		map.put("sex", "男");
		
		System.out.println("创建一个哈希表存储一个用户对象:"+jedis.hmset("user",map));
		
		System.out.println("获取哈希表中用户的name:"+jedis.hget("user", "name"));
		
		System.out.println("查看哈希表中,指定的字段是否存在:"+jedis.hexists("user", "name"));
		
		System.out.println("获取哈希表中字段的数量:"+jedis.hlen("user"));
		
		System.out.println("获取哈希表中所有字段:"+jedis.hkeys("user"));
		
		System.out.println("获取哈希表中所有字段的值:"+jedis.hvals("user"));
		
		System.out.println("获取在哈希表中的所有字段和值:"+jedis.hgetAll("user"));
		
		System.out.println("删除一个或多个哈希表字段:"+jedis.hdel("user","name","age","sex"));

보기 results

  • List type

System.out.println("将一个值插入到列表头部(可以多个值):"+jedis.lpush("city","北京","上海"));
		
		
		System.out.println("将一个值插入到列表尾部(可以多个值):"+jedis.rpush("city","济南","南京"));
		
		
		System.out.println("获取列表指定范围内的元素:"+jedis.lrange("city", 0, -1));
		
		
		System.out.println("获取列表长度:"+jedis.llen("city"));
		
		
		System.out.println("移出列表的第一个元素,并输出值:"+jedis.lpop("city"));
		
		
		System.out.println("移除列表的最后一个元素,并输出值:"+jedis.rpop("city"));
		
		
		System.out.println("修改列表中指定索引位置元素的值:"+jedis.lset("city", 0, "西藏"));
		
		
		System.out.println("让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除:"+jedis.ltrim("city", 1, 2));

View results

  • Sorted Set type

Map<String,Double> scoreMembers=new HashMap<>();
		scoreMembers.put("member1", 1D);
		scoreMembers.put("member2", 2D);
		scoreMembers.put("member3", 3D);
		
		System.out.println("向有序集合添加一个或多个元素,或者更新已存在元素的分数:"+jedis.zadd("member", scoreMembers));
		
		System.out.println("获取有序集合的元素个数:"+jedis.zcard("member"));
		
		System.out.println("计算在有序集合中指定区间([socre1,socre2])分数的成员数:"+jedis.zcount("member", 0D, 3D));
		
		System.out.println("通过索引区间返回有序集合指定区间内的元素,从低到高:"+jedis.zrange("member", 0,-1));
		
		System.out.println("返回索引区间返回有序集合指定区间内的元素,从高到低:"+jedis.zrevrange("member", 0,-1));
		
		System.out.println("返回有序集中指定元素的分数值:"+jedis.zscore("member", "member1"));
		
		System.out.println("移除有序集合中的一个或多个元素:"+jedis.zrem("member", "member1","member2"));
		
		System.out.println("返回有序集合中指定元素的索引:"+jedis.zrank("member", "member3"));

View results

마지막으로 데이터베이스 운영 방법을 간략하게 살펴보겠습니다

	System.out.println("清空当前数据库:"+jedis.flushDB());
		
		System.out.println("清空所有数据库:"+jedis.flushAll());
		
		System.out.println("查看当前数据库存储数据的多少:"+jedis.dbSize());
		
		Set<String> keys = jedis.keys("*");
		System.out.println("查看当前数据库存储所有键值:"+keys);
		
		System.out.println("选择某个数据库:"+jedis.select(0));

결과 보기

사실 Redis에는 세 가지 특수 저장소 유형도 있습니다.

  • Geospatial                                                            

    주로 지리적 위치 정보를 저장하고 주문된 정렬 집합에 따라 작동하는 데 사용됩니다. set

HyperLogLog

  • 이 사용됩니다

카디널리티 통계를 하는 비트맵

  • 은 이진수(0,1)을 연산하여 두 가지 상태만으로 정보를 기록합니다

위 내용은 Java를 사용하여 Redis 데이터베이스를 운영하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 亿速云에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Redis vs 데이터베이스 : 성능 비교Redis vs 데이터베이스 : 성능 비교May 14, 2025 am 12:11 AM

redisoutperformstraditionaldatabasesinspeedforread/writeoperationsduetoitsin-memorynature, whiletraditionaldatabasesexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexceleclexquer

기존 데이터베이스 대신 Redis를 언제 사용해야합니까?기존 데이터베이스 대신 Redis를 언제 사용해야합니까?May 13, 2025 pm 04:01 PM

useredisinsteadofatraditionaldatabasewhenyorapplicationrequiresspeedandreal-timedataprocessing, suchasforcaching, sessionmanagement, orreal-timeanalytics.rediesxcelsin : 1) Caching, Retoadon-PrimaryDatabases; 2) 세션 관리, 단순화 datahandlon

REDIS : SQL 너머 - NOSQL 관점REDIS : SQL 너머 - NOSQL 관점May 08, 2025 am 12:25 AM

Redis는 고성능과 유연성으로 인해 SQL 데이터베이스를 뛰어 넘습니다. 1) Redis는 메모리 스토리지를 통해 매우 빠른 읽기 및 쓰기 속도를 달성합니다. 2) 복잡한 데이터 처리에 적합한 목록 및 컬렉션과 같은 다양한 데이터 구조를 지원합니다. 3) 단일 스레드 모델은 개발을 단순화하지만 높은 동시성은 병목 현상이 될 수 있습니다.

REDIS : 기존 데이터베이스 서버와 비교REDIS : 기존 데이터베이스 서버와 비교May 07, 2025 am 12:09 AM

Redis는 동시성이 높은 기존 데이터베이스보다 우수하고 대기 시간 시나리오가 낮지 만 복잡한 쿼리 및 트랜잭션 처리에는 적합하지 않습니다. 1.Redis는 메모리 저장, 빠른 읽기 및 쓰기 속도, 높은 동시성 및 낮은 대기 시간 요구 사항에 적합합니다. 2. 전통적인 데이터베이스는 디스크를 기반으로하며 복잡한 쿼리 및 트랜잭션 처리를 지원하며 데이터 일관성과 지속성이 강합니다. 3. Redis는 기존 데이터베이스의 보충 또는 대체물로 적합하지만 특정 비즈니스 요구에 따라 선택해야합니다.

REDIS : 강력한 메모리 내 데이터 저장소 소개REDIS : 강력한 메모리 내 데이터 저장소 소개May 06, 2025 am 12:08 AM

redisisahigh-performancein-memorydatrscructurestorestorethexcelscelsspeedandversitility

Redis는 주로 데이터베이스입니까?Redis는 주로 데이터베이스입니까?May 05, 2025 am 12:07 AM

Redis는 주로 데이터베이스이지만 단순한 데이터베이스 이상입니다. 1. 데이터베이스로서 Redis는 지속성을 지원하고 고성능 요구에 적합합니다. 2. 캐시로서 Redis는 응용 프로그램 응답 속도를 향상시킵니다. 3. 메시지 중개인으로서 Redis는 실시간 커뮤니케이션에 적합한 Publish-Subscribe 모드를 지원합니다.

REDIS : 데이터베이스, 서버 또는 기타?REDIS : 데이터베이스, 서버 또는 기타?May 04, 2025 am 12:08 AM

redisiSamultifacetedToolthatservesAsadatabase, Server 및 more.ItfunctionsAnin-memoryDatrastRuctureStore, SupportSvariousDatastructures, andCanbeusedAsacache, MessageBroker, SessionStorage, 및 FordiptributedLocking을 지원합니다.

Redis : 목적과 주요 응용 프로그램을 공개합니다Redis : 목적과 주요 응용 프로그램을 공개합니다May 03, 2025 am 12:11 AM

redisisanopen-source, in-memorydatructurestorestoreusedasadatabase, cache 및 messagebroker, excell

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음