소개 레디 스 캐시 데이터베이스

캐시 데이터베이스 소개

레디 스 작업

1 캐시 데이터 프레젠테이션

"뿐만 아니라 SQL"을 의미 NoSQL이 (NoSQL에 =뿐만 아니라 SQL은)는 인터넷 웹의 상승, 기존의 관계형 데이터베이스 웹 사이트 다루는, 특히 대규모 동시 높이로, 비 관계형 데이터베이스를 참조 웹 2.0 순수 동적 사이트의 SNS 형 때문에 자신의 특성도 아닌 관계형 데이터베이스보다 극복하기 어려운 많은 문제를 노출 부적절한 것으로 나타났다 매우 급속한 발전하고있다. 되는 NoSQL 데이터베이스는 특별히 문제는 빅 데이터 애플리케이션이며, 데이터의 여러 유형의 문제를 해결하기 위해 대규모 데이터 세트를 생성하는

되는 NoSQL 데이터베이스의 네 가지 범주

네 분류되는 NoSQL 데이터베이스 : 키 (키 - 값) 데이터베이스 (레디 스)에 저장, 열 저장소 데이터베이스, 문서 데이터베이스, 그래픽 (그래프) 데이터베이스,

  1. 카테고리 : 키 (키 - 값)
  2. 举例 : 도쿄, 내각 / 폭군, 레디 스, 볼드 모트, 오라클 BDB
  3. 전형적인 애플리케이션 시나리오 : 콘텐츠 캐싱 주로 고부하 처리 등등뿐만 아니라, 기록 장치의 일부에 대해, 대량의 데이터에 접근하고있다.
  4. 데이터 모델 : 키 포인트 키 값, 보통 해시
  5. 장점 : 빨리 찾기
  6. 단점 : 구조화되지 않은 데이터는 보통 문자열이나 이진 데이터로 사용할 수

레디 스 소개

K 개의, V 빠르고, K는, 상기 제 1 V 턴 바닥 다음은 이분법 (2)를 사용하여 해시 룩업을 사용하기 때문에 왜, 레디 스 키 / 값 쌍이다

레디 스 키 - 값 형 NoSQL 데이터베이스 산업의 주류 중 하나입니다. 해시 (해시 타입) - 그리고 Memcached가 마찬가지로, 그것은 상대적으로 저장을 지원 값 유형 쌍은 문자열 (문자열), 목록 (리스트), SET (설정), ZSET (설정 정렬 된 소트 세트)를 포함한다. 이러한 데이터 유형 추가 / 제거 및 교회법 및 노동 조합과의 차이 풍부한 운영에 푸시 / 팝을 지원하고 있으며, 이러한 작업은 (비 변화) 원자이다. 이를 바탕으로, 레디 스 정렬의 다양한 방법을 지원합니다. memcached와 함께, 효율성을 보장하기 위해, 데이터가 메모리에 캐시와 마찬가지로, 차이는 레디 스 주기적으로 디스크 또는 추가가 작성된 운영 로그 파일을 수정에 기록 된 데이터를 업데이트하고,이 기준으로 마스터를 달성하기 위해 -slave (마스터 - 슬레이브) 동기화

레디 스의 장점

  1. 비동기 빠른 초당 레디 스를 수행 할 수있는 매우 빠른 설정 작업에 대한 110,000, 81,000 초당 읽기 작업 /
  2. 다양한 데이터 유형에 대한 지원 : 레디 스 대부분의 개발자들이 이미 대부분의 목록, 세트, ​​정렬 수집, 해시 및 기타 데이터 유형을 알고 지원
  3. 조작은 원자입니다 : 모든 Resis 작업이 두 클라이언트가 동시에 레디 스 서버 GET에 액세스 할 때 (최신 값) 업데이트 된 값입니다 보장, 원자 있습니다
  4. MultiUtility 도구 : 같은 모든 웹 응용 프로그램 세션, 웹 페이지 조회수 : 레디 스 많은 등이 될 수있는 다목적 유틸리티입니다 캐싱을 사용하여 메시지 큐와 같은 응용 프로그램에서, (레디 스 네이티브 지원은 게시 / 가입) 단기 데이터 :

레디 스 설치 환경

우분투 레디 스를 설치 터미널을 열고 다음을 입력하려면 1.sudo 1. sudo는 apt-get을 설치 레디 스를-서버를 업데이트 apt-get을

레디 스는 레디 스를 시작 설치된 : 레디 스 서버

레디 스가 여전히 실행하는 경우 참조 : 레디 스-CLI, 같은 레디 스 프롬프트를 엽니 다 아래 : 127.0.0.1:6379를> 프롬프트 정보 : 127.0.0.1 기계의 IP 주소, 포트 6379는 레디 스 서버를 실행, 아래와 같이 PING 명령, 지금 입력 : 127.0.0.1:6379> 탁구이 지금 성공적으로 컴퓨터 레디 스에 설치 한 것을 보여줍니다

sudo는 NETSTAT -tulnp보기 포트

DF :보기 디스크 사용

운영

1, 문자열 조작

이름이 저장된 값에 대응 따른 메모리 스트링 레디 ​​스

  1. 세트 (이름, 값, 전 = 없음, PX = 없음, NX = 거짓, XX = 거짓)
set name1 2

在Redis中设置值,默认,不存在则创建,存在则修改
参数:
     ex,过期时间(秒)
     px,过期时间(毫秒)
     nx,如果设置为True,则只有name不存在时,当前set操作才执行
     xx,如果设置为True,则只有name存在时,岗前set操作才执行
  1. setnx (이름, 값)
    127.0.0.1:6379> setnx name1 3
    (integer) 0
    127.0.0.1:6379> setnx name2 4
    (integer) 1
    
    设置值,只有name不存在时,执行设置操作(添加)
  1. SETEX (이름, 값, 시간)
    127.0.0.1:6379> setex name3 3 3
            OK
    127.0.0.1:6379> get name3
    (nil)

    # 设置值
    # 参数:
    # time,过期时间(数字秒 或 timedelta对象)
  1. psetex (이름, time_ms, 값)
    # 设置值
    # 参数:
    # time_ms,过期时间(数字毫秒 或 timedelta对象)
  1. MSET (* 인수, ** kwargs로)
    批量设置值
    127.0.0.1:6379> mset k 2 k1 3
    OK
  1. 수 (명)
    获取值
    127.0.0.1:6379> get k
    "2"
  1. MGET (키, * 인수)
    批量获取
    127.0.0.1:6379> mget k k1
    1) "2"
    2) "3"
    
    获取所有的key:
    127.0.0.1:6379> Keys *
    1) "name2"
    2) "k"
    3) "k1"
    4) "name1"
  1. getrange (키, 시작, 끝)
    # 获取子序列(根据字节获取,非字符)
    # 参数:
    # name,Redis 的 name
    # start,起始位置(字节)
    # end,结束位置(字节)
    127.0.0.1:6379> set name4 keke
    OK
    127.0.0.1:6379> getrange name4 0 2
    "kek"
    127.0.0.1:6379> 
    
  1. SetRange를 (이름, 오프셋 값)
    # 修改字符串内容,从指定字符串索引开始向后替换(新值太长时,则向后添加)
    # 参数:
    # offset,字符串的索引,字节(一个汉字三个字节)
    # value,要设置的值
    
    127.0.0.1:6379> setrange name4 2 yu
    (integer) 4
    127.0.0.1:6379> get name4
    "keyu"
  1. SETBIT (이름, 오프셋 값)
    # 对name对应值的二进制表示的位进行操作
 
    # 参数:
    # name,redis的name
    # offset,位的索引(将值变换成二进制后再进行索引)
    # value,值只能是 1 或 0
    找出50乙登陆的用户:
        用一个key=LOGIN_USERS存储用户登陆,从位数0开始,
        setbit Login_USERS 10 1 ,10是一个用户的唯一usei当作位数,值1表示登陆,用bitcount LOGIN_USERS所有为1(登陆的总数),
        用getbit LOGIN_USERS 10 :找出userid为10的用户是否是登陆的
  1. getbit (이름, 오프셋)
    # 获取name对应的值的二进制表示中的某位的值 (0或1)
  1. bitcount (키, 시작 = 없음, 단부 = 없음)
    # 获取name对应的值的二进制表示中 1 的个数
    # 参数:
    # key,Redis的name
    # start,位起始位置
    # end,位结束位置
  1. 나 strlen (이름)
# 返回name对应值的字节长度(一个汉字3个字节)
  1. 증분 (자기 이름, 크기 = 1)
    # 自增 name对应的值,当name不存在时,则创建name=amount,否则,则自增。
     
    # 参数:
    # name,Redis的name
    # amount,自增数(必须是整数)
 
# 注:同incrby
  1. incrbyfloat (자기 이름, 크기 = 1.0)
    # 自增 name对应的值,当name不存在时,则创建name=amount,否则,则自增。
     
    # 参数:
    # name,Redis的name
    # amount,自增数(浮点型)
  1. DECR (자기 이름, 크기 = 1)
    # 自减 name对应的值,当name不存在时,则创建name=amount,否则,则自减。
     
    # 参数:
    # name,Redis的name
    # amount,自减数(整数)
  1. 추가 (키 값)
# 在redis name对应的值后面追加内容
 
# 参数:
    key, redis的name
    value, 要追加的字符串

https://www.cnblogs.com/alex3714/articles/6217453.html

추천

출처www.cnblogs.com/venvive/p/11696123.html