Redis를 CentOS7에 설치 및 조작

Redis를 CentOS7에 설치 및 조작

2022-10-06 last update

6 minutes reading Redis nosql
NoSQL 속에서 인기 있는 Redis를 여기 를 참고에 접해 보았으므로 정리합니다.

인용 : 모르겠다고 말할 수없는 NoSQL 정리 - @IT

Redis란?


  • 메모리 내 DB, 옵션으로 지속성 지원
  • 키 밸류 타입:Key/Value를 단위로 하여 데이터를 저장
  • 5 가지 데이터 유형



  • data type
    취급하는 요소


    문자열
    key 에 value 등록

    해시
    key에 field와 value를 쌍으로 등록

    세트
    key에 member 등록

    정렬된 세트
    key에 member와 score를 쌍으로 등록

    리스트
    key 에 value 등록


    Redis 설치, 시작


    yum -y install epel-release   #エンタープライズ用パッケージが必要
    yum -y install redis
    
    redis-server --version
    redis-server &
    

    대화식 환경 시작



    ※참고: redis-cli 옵션
    redis-cli
    127.0.0.1:6379> set -h redis   #hostname設定
    OK
    127.0.0.1:6379> get -h
    "redis"
    

    SET/SETNX/GET



    set 명령으로 값을 등록하고 get 명령으로 값을 얻습니다.
    setnx 명령(SET if Not eXists)은 기존 키에 값을 등록(update) 불가
    127.0.0.1:6379> set mystring "abc"
    OK
    127.0.0.1:6379> get mystring
    "abc"
    127.0.0.1:6379> setnx mystring "cde"
    (integer) 0
    127.0.0.1:6379> get mystring
    "abc"
    

    SETEX/PSETEX



    키에 만료일을 설정하여 값을 설정(SETEX:초, PSETEX:밀리초)
    127.0.0.1:6379> setex mystring 10 "abc"
    OK
    127.0.0.1:6379> ttl mystring   #有効期限を確認
    (integer) 6
    127.0.0.1:6379> ttl mystring   #有効期限切れでキーが存在しない:-2
    (integer) -2
    

    GETSET



    키의 값의 취득과 설정을 동시에 실시
    127.0.0.1:6379> getset mystring "abc"
    (nil)   #新規に登録する場合はnilが返る
    
    127.0.0.1:6379> getset mystring "def"
    "abc"
    127.0.0.1:6379> get mystring
    "def"
    

    SELECT: DB 전환


    127.0.0.1:6379[1]> select 0
    OK
    127.0.0.1:6379> set Key 'Value'
    OK
    127.0.0.1:6379> get Key
    "Value"
    127.0.0.1:6379> select 1
    OK
    127.0.0.1:6379[1]> get Key
    (nil)
    127.0.0.1:6379[1]>
    

    KEYS: 등록된 키 검색


    127.0.0.1:6379> keys *
    1) "Key"
    2) "-h"
    3) "mystring"
    4) "hello"
    

    목록 조작 (RPUSH / LPUSH / LLEN / LRANGE / LPOP / RPOP)



    PUSH/LPUSH는 리스트의 좌우에 오브젝트를 추가
    127.0.0.1:6379> rpush abc 'cde'
    (integer) 1
    127.0.0.1:6379> rpush abc 'fgh'
    (integer) 2
    127.0.0.1:6379> rpush abc 'ijk'
    (integer) 3
    127.0.0.1:6379> lpush abc '000'
    (integer) 4
    127.0.0.1:6379> llen abc   #llen: 長さを取得
    (integer) 4
    

    LPOP/RPOP는 리스트의 좌우로부터 오브젝트를 삭제해, 돌려준다
    127.0.0.1:6379> lpop abc
    "000"
    

    LRANGE는 범위를 지정하여 목록을 가져옵니다.
    127.0.0.1:6379> lrange abc 0 2
    1) "cde"
    2) "fgh"
    3) "ijk"