[REDIS] 해시 내부 저장 목록 레디 스
REDIS해시 내부 저장 목록 레디 스
나는 레디 스에서 일부 시스템 정보를 저장해야합니다. 많은 다른 시스템이 있기 때문에 나는 구조 아래를 사용할 계획입니다
server1 => {name => s1, cpu=>80}
server2 => {name => s2, cpu=>40}
나는 키 CPU에 대한 하나 개 이상의 값을 저장해야합니다. 또한 나는 CPU에 대한 값 목록에서 마지막 열 개 값을 유지할 필요
1) 내가 어떻게 해시 내부의 키에 대한 목록을 저장할 수 있습니까?
2) 나는 LTRIM 읽어보십시오. 그러나 키를 받아들입니다. 내가 어떻게 키의 CPU 내부 서버 1에 대한 LTRIM을 할 수 있습니까?
나는 jedis을 사용하고 있습니다.
해결법
-
==============================
1.레디 스의 데이터 구조는 해시 불가능하므로 내부리스트를 저장, 다른 데이터 구조에 중첩 될 수 없다. (: CPU 예를 들어, 서버 1) 대신, 서버의 CPU 값에 대한 서로 다른 키를 사용합니다.
레디 스의 데이터 구조는 해시 불가능하므로 내부리스트를 저장, 다른 데이터 구조에 중첩 될 수 없다. (: CPU 예를 들어, 서버 1) 대신, 서버의 CPU 값에 대한 서로 다른 키를 사용합니다.
-
==============================
2.그것은 Redisson 프레임 워크와 함께이 작업을 수행 할 수 있습니다. 그것은 Redisson에 의해 처리 특별한 참조 객체하지만 다른 레디 스 오브젝트의 레디 스 개체에 대한 참조를 저장할 수 있습니다.
그것은 Redisson 프레임 워크와 함께이 작업을 수행 할 수 있습니다. 그것은 Redisson에 의해 처리 특별한 참조 객체하지만 다른 레디 스 오브젝트의 레디 스 개체에 대한 참조를 저장할 수 있습니다.
그래서 당신의 임무는지도 내에서 목록을 사용하여 해결할 수 :
RMap<String, RList<Option>> settings = redisson.getMap("settings"); RList<Option> options1 = redisson.getList("settings_server1_option"); options1.add(new Option("name", "s1")); options1.add(new Option("cpu", "80")); settings.put("server1", options1); RList<Option> options2 = redisson.getList("settings_server2_option"); options2.add(new Option("name", "s2")); options2.add(new Option("cpu", "40")); settings.put("server2", options2); // read it RList<Option> options2Value = settings.get("server2");
또는지도 내부지도를 사용 :
RMap<String, RMap<String, String>> settings = redisson.getMap("settings"); RMap<String, String> options1 = redisson.getMap("settings_server1_option"); options1.put("name", "s1"); options1.put("cpu", "80"); settings.put("server1", options1); RMap<String, String> options2 = redisson.getMap("settings_server2_option"); options2.put("name", "s2"); options2.put("cpu", "40"); settings.put("server2", options1); // read it RMap<String, String> options2Value = settings.get("server2");
from https://stackoverflow.com/questions/29203717/redis-storing-list-inside-hash by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 합니까 레디 스에만 문자열 표현하지만 숫자 값이 아닌 허용 (0) | 2020.01.22 |
---|---|
[REDIS] 고정 표시기-작성은 : 연결 컨테이너 사이 거부 레디 스 (0) | 2020.01.22 |
[REDIS] Laravel : 레디 스 아니는 연결이 될 수있다 : [TCP를 : //127.0.0.1 : 6379] (0) | 2020.01.22 |
[REDIS] 원자 레디 스 데이터 구조에서 여러 값을 팝? (0) | 2020.01.22 |
[REDIS] 클러스터를 만들 레디 스-trib.rb를 사용할 때 연결 오류를 얻기? (0) | 2020.01.22 |