>  기사  >  데이터 베이스  >  Redis 목록 유형 소개

Redis 목록 유형 소개

尚
앞으로
2020-03-24 09:19:431741검색

Redis 목록 유형 소개

Redis 목록은 삽입 순서로 정렬된 간단한 문자열 목록입니다. 목록의 머리(왼쪽) 또는 꼬리(오른쪽)에 요소를 추가할 수 있습니다

권장: redis 입문 튜토리얼

목록에는 최대 232 - 1개의 요소가 포함될 수 있습니다(4294967295, 각 목록에는 40억 개가 넘는 요소가 있습니다). 요소).

{
    'numbers': [1, 2, 3, 4, 5, 6, 7,8]
    'letters': ['a', 'b', 'c', 'd', 'e', 'f', 'g','h']
}

목록 유형입니다. 목록의 요소는 문자열이어야 하며 데이터 유형은 중첩될 수 없습니다.

리스트 유형의 모든 작업은 파이썬에서 키에 해당하는 목록 작업(생각해 보세요, 있어야 한다, 추가, 삭제, 지정된 위치에 삽입, 지정된 위치에서 삭제, 팝업, 잘라내기 등)입니다. , Redis가 있어야 한다고 생각합니다. )

LPUSH 키 값 [값 ...] # 왼쪽에 요소 추가

redis 127.0.0.1:6379> lpush numbers 1
(integer) 1
redis 127.0.0.1:6379> lpush numbers 2 3
(integer) 3

RPUSH 키 값 [값 ...] # 오른쪽에 데이터 추가

LLEN 키 # 목록의 요소 수 가져오기

redis 127.0.0.1:6379> llen numbers
(integer) 3

LRANGE 키 sart stop # 목록 조각 가져오기 파이썬의 슬라이싱 기능과 유사하지만 슬라이싱 시 반환되는 데이터에 정지 위치 데이터가 포함된다는 차이점이 있습니다

redis 127.0.0.1:6379> lrange numbers 0 -1   #获取所有的列表内数据
"3"
"2"
"1"
redis 127.0.0.1:6379> lrange numbers 0 0
"3"
redis 127.0.0.1:6379> lrange numbers 0 5
"3"
"2"
"1"
redis 127.0.0.1:6379> lrange numbers 0 3
"3"
"2"
"1"

LPOP 키 # 왼쪽에서 요소 팝업

redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"
"1"
redis 127.0.0.1:6379> lpop numbers
"3"
redis 127.0.0.1:6379> lrange numbers 0 -1
"2"
"1"

RPOP # 오른쪽에서 요소 팝업 원리는 위와 동일

LREM 키 개수 값

# 목록에서 지정된 값 삭제

#count >0 value Value와 같은 count 위치의 왼쪽부터 삭제

redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"3"
"2"
"1"
redis 127.0.0.1:6379> lrem numbers 1 3
(integer) 1
redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"2"
"1"

#count >0 count의 왼쪽부터 value와 같은 값 삭제

#count=0 다음을 포함하는 모든 요소 삭제 value

LINDEX 키 인덱스       #지정된 인덱스의 요소 값 가져오기

redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"1"
redis 127.0.0.1:6379> lindex numbers 3
(nil)  #没有返回nil
redis 127.0.0.1:6379> lindex numbers 1
"1"
redis 127.0.0.1:6379> lindex numbers 0
"4"

LSET 키 인덱스 값​​ # 지정된 위치의 값을 설정할 때 원본 위치가 아닌 한 원래 위치를 바꾸는 것에 주의해야 합니다. 위치에 값이 없습니다

redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"1"
redis 127.0.0.1:6379> lset numbers 1 2
OK
redis 127.0.0.1:6379> lset numbers 1 3
OK
redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"3"

참고: 범위를 벗어난 설정은 오류입니다.

redis 127.0.0.1:6379> lset numbers 2 3
(error) ERR index out of range

LTRIM 키 시작 끝 #원본 목록을 잘라내면 지정된 범위 밖의 요소는 삭제됩니다

redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"3"
"2"
"1"
redis 127.0.0.1:6379> ltrim numbers 1 2
OK
redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"

LINSERT 키 이전 |피벗 값 이후 #목록에 값을 삽입합니다. 이름을 보면 알 수 있습니다. 피벗 앞이나 뒤에 삽입해야 할까요?

redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"
redis 127.0.0.1:6379> linsert numbers after 2 1
(integer) 3
redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"
"1"
redis 127.0.0.1:6379> lrange numbers 0 -1
"3"
"2"
"1"
redis 127.0.0.1:6379> linsert numbers before 3 4
(integer) 4
redis 127.0.0.1:6379> lrange numbers 0 -1
"4"
"3"
"2"
"1"

RPOPLPUSH 소스 대상 #소스 오른쪽에서 요소를 팝하고 목적지 왼쪽에 추가하세요

redis> LRANGE alpha 0 -1         # 查看所有元素
"a"
"b"
"c"
"d"

redis> RPOPLPUSH alpha reciver   # 执行一次 RPOPLPUSH 看看
"d"
redis> LRANGE alpha 0 -1
"a"
"b"
"c"

redis> LRANGE reciver 0 -1
"d"

관련 추천:

mysql 비디오 튜토리얼: https://www.php.cn/course /list/51.html

위 내용은 Redis 목록 유형 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 oschina.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제