object
OBJECT encoding
key에 대한 정보 조회
사용법은 OBJECT encoding key 이다.
encoding data type
- Strings: int, embstr, raw
 
- Lists: 버전 3.2.0 이전 ziplist(small lists), linkedlist
버전 3.2.0 부터 quicklist 하나로 통일되어 사용됨. 
- Sets: intset(integers and small sets), hashtable
 
- Sorted Sets: ziplist(small zsets), skiplist
 
- Hashes: ziplist(small hashes), hashtable
 
Strings data type : int(integer), embstr(small string), raw
	- int: value가 정수임을 나타낸다. integer, 실수(소숫점 포함)는 string으로 분류된다. 숫자가 0으로 시작하면 string이다. 
	예를 들어 123은 int이고 0123은 embstr이다.
 
	- embstr: value가 string이고 44문자 이하임을 나타낸다. embedded string, embstr은 3.0부터 표시된다. 이전 버전은 raw로 표시되었다.
 
	- raw: value가 string이고 45문자 이상임을 나타낸다.
 
	
Example Strings
| 명령> | set key 1234 | 
| 결과> | OK | 
| 명령> | object encoding key | 
| 결과> | int | 
| 명령> | append key Hello | 
| 결과> | OK | 
| 명령> | object encoding key | 
| 결과> | embstr | 
| 명령> | set key 01234 | 
| 결과> | OK | 
| 명령> | object encoding key | 
| 결과> | embstr | 
| 명령> | set key 12.34 | 
| 결과> | OK | 
| 명령> | object encoding key | 
| 결과> | embstr | 
| 명령> | set key 0123456789012345678901234567890123456789 | 
| 결과> | OK | 
| 명령> | object encoding key | 
| 결과> | raw | 
 
애니메이션 보기
 
Lists data type : ziplist(small lists), linkedlist
	
    - ziplist: member 갯수가 512개 까지이거나, 값의 길이가 64까지는 ziplist이다.
 
	- linkedlist: member 갯수가 513개 이상이거나, 값의 길이가 65부터는 linkedlist이다. 
 
	- 이것은 redis.conf에 list-max-ziplist-entries 512, list-max-ziplist-value 64 로 설정할 수 있다.	
 
	- 레디스 버전 3.2.0 이전에 인코딩 타입이 이 두 가지 였는데, 3.2.0 부터는 
	이 두 가지를 합한 quicklist 하나만 사용된다.
	
	
 
Example Lists: 버전 3.2.0 이전
| 명령> | llen mylist1 | 
| 결과> | 512 | 
| 명령> | object encoding mylist1 | 
| 결과> | ziplist | 
| 명령> | llen mylist2 | 
| 결과> | 513 | 
| 명령> | object encoding mylist2 | 
| 결과> | linkedlist | 
 
 
Example Lists: 버전 3.2.0 이후
| 명령> | rpush mylist3 value1 value2 | 
| 결과> | (integer) 2 | 
| 명령> | object encoding mylist3 | 
| 결과> | quicklist | 
 
 
Sets: intset(integers and small sets), hashtable
	
    - intset: value가 모두 정수이고, member 갯수가 512개 까지 intset이다. value가 0으로 시작하거나, 소숫점을 포함하면 hashtable로 변환된다.
 
	- hashtable: value가 string이거나, member 갯수가 513개 이상은 hashtable이다. 
 
	- 이것은 redis.conf에 set-max-intset-entries 512 로 설정할 수 있다.	
 
	
Example Sets
| 명령> | sadd myset 1 2 3 | 
| 결과> | 3 | 
| 명령> | object encoding mylist1 | 
| 결과> | intset | 
| 명령> | sadd myset 4.1 | 
| 결과> | 1 | 
| 명령> | object encoding myset | 
| 결과> | hashtable | 
 
 
Sorted Sets: ziplist(small zsets), skiplist
	
	- ziplist: member 갯수가 128개 까지이거나, 값의 길이가 64까지는 ziplist이다.
 
	- skiplist: member 갯수가 129개 이상이거나, 값의 길이가 65부터는 skiplist이다. 
 
	- 이것은 redis.conf에 zset-max-ziplist-entries 128, zset-max-ziplist-value 64 로 설정할 수 있다.	
 
	
Example Sets
| 명령> | zcard myzip1 | 
| 결과> | 128 | 
| 명령> | object encoding myzip1 | 
| 결과> | ziplist | 
| 명령> | zcard myzip2 | 
| 결과> | 129 | 
| 명령> | object encoding myzip2 | 
| 결과> | skiplist | 
 
 
	
	
	
Hashes: ziplist(small hashes), hashtable 
	
    - ziplist: member 갯수가 512개 까지이거나, 값의 길이가 64까지는 ziplist이다.
 
	- hashtable: member 갯수가 513개 이상이거나, 값의 길이다 65부터는 hashtable이다. 
 
	- 이것은 redis.conf에 hash-max-ziplist-entries 512, hash-max-ziplist-value 64 로 설정할 수 있다.	
 
	
Example Sets
| 명령> | hlen myhash1 | 
| 결과> | 512 | 
| 명령> | object encoding myhash1 | 
| 결과> | ziplist | 
| 명령> | hlen myhash2 | 
| 결과> | 513 | 
| 명령> | object encoding myhash2 | 
| 결과> | hashtable | 
 
 
명령문
OBJECT encoding key
- 이 명령은 version 2.2.3 부터 사용할 수 있다.
 
- 논리적 처리 소요시간 : O(1)