Ndc2013 정리(upload버전)
Upcoming SlideShare
Loading in...5
×
 

Ndc2013 정리(upload버전)

on

  • 1,203 views

NDC 13 간단정리

NDC 13 간단정리

2013.05.04 Devrookie 발표 자료

- MSPark -

Statistics

Views

Total Views
1,203
Views on SlideShare
1,079
Embed Views
124

Actions

Likes
2
Downloads
15
Comments
0

2 Embeds 124

http://cafe.naver.com 114
https://twitter.com 10

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Ndc2013 정리(upload버전) Ndc2013 정리(upload버전) Presentation Transcript

  • NDC2013 정리박민수
  • Upload를 위해서 혹시 몰라서 블리자드 세션은 빼고 올립니다.NDC13을 듣고 메모해 놓은 걸 기반으로개인적으로 정리해본 PT 입니다.실제 내용과 다를 수 있으니 참고해주세요~ㅎㅎㅎ
  • 코끼리를 냉장고에 넣는법‘삼국지를 품다’ 모바일 플랫폼 개발과 서비스 일지엔도어즈 – 최부호 View slide
  • 코끼리를 냉장고에 넣는법코끼리 – PC냉장고 – 모바일PC 개발에서 Unity를 이용한 모바일 개발로 넘어가면서 경험했던문제점들과 해결방안, 팁 View slide
  • 코끼리를 냉장고에 넣는법Unity Update - 업데이트 주기가 짧은 편이다.멀티플랫폼 엔진- 각 플랫폼 업데이트- Unity 자체적3.x 버전은 업데이트마다 Asset Bundle을 다시 빌드해야 한다.그리고 유저가 패치를 받아야 한다.4.x 부터는 해결되었으니 4.x를 사용하라.
  • 코끼리를 냉장고에 넣는법많은 모바일 API 제공세심한 컨트롤은 힘들게 되어있다.ex) 진동 – On / Off 정도 지원별도의 Plug-in을 제작 해야 한다.즉, 해당 플랫폼에 대한 지식이 꼭 필요하다.
  • 코끼리를 냉장고에 넣는법Wifi - PC에 비해 매우 불안정하다.패치 후 안 켜진다는 유저를 찾아가 확인특정 통신사 Wifi 망에 접속하면 Wifi 자체는 접속이 된거지만 인증을 하지 않으면 통신이 되지 않는 경우가 있다.(Web Error 코드가 적혀있고 데이터가 비정상적)CRC등 무결성 검사가 필수적이다.
  • 코끼리를 냉장고에 넣는법배터리 문제배터리를 닳게 하는 3가지 요소1. 디스플레이2. 데이터 통신 모듈3. AP 연산(AP 연산에 대해서만 최적화 시도)PC FPS를 따르지 않고 특정 FPS로 고정시켜 AP 연산을 줄인다.배터리 소모 속도와 발열이 줄어들었다.끊기는 느낌이 나지만 AP 연산 최적화가 도움이 되는것은 증명.
  • 코끼리를 냉장고에 넣는법메모리 관리Object를 추가하면 메모리 블록을 할당한다.여분을 남기고 메모리 블록이 꽉 차면 확장된 사이즈로 할당한다.Object들이 해제하더라도 확장된 사이즈는 그대로 유지한다.최대치에 도달하게 되면 Crash를 낸다.재활용 리소스를 잘 관리하고 Memory Pool이 필수다.
  • 코끼리를 냉장고에 넣는법심의, 반려모바일은 Update 때마다 심의를 받는다.1. Google – Update 후 심사2. 이통 3사 – 하루 정도 심사3. Apple – 2주 정도 심사, 반려가 나면 다시 재 심사.심사도 사람이 하는거라 기준이 다르다.기존에 통과된 부분도 반려 될 수 있다는 생각을 가지는게 좋다.
  • 코끼리를 냉장고에 넣는법심의, 반려다른 플랫폼과 Apple 버전을 맞추기 힘들 때가 있다.패킷에 버전을 두어서 기능은 안되더라도 실행은 되게끔 처리했다.현재 플랫폼에서 구입한 아이템을 다른 플랫폼으로 선물을 금지하기 때문에 해당 기능은 제거하였다.플랫폼당 서버로 분리할까도 고려중이다.
  • 셰이더 리소스 빌드 자동화할 수 없나요?시스템 구현 및 최적화 사례 소개넥슨 – 정화석
  • 셰이더 리소스 빌드 자동화할 수 없나요?쉐이더 코드 조합1. Micro Shader (#include)2. Uber Shader (#if ~ #endif)3. Shader Editor (GUI)#include와 #if ~ #endif로 처리하기로 결정
  • 셰이더 리소스 빌드 자동화할 수 없나요?ShaderSetting 파일옵션 메타 데이터상속 구조LOD 시스템C++ 전처리와 메타 데이터를 이용하여 처리하려고 만들기 시작
  • 셰이더 리소스 빌드 자동화할 수 없나요?컴파일 시간, 메모리 최적화컴파일된 바이너리를 바로 사용하자.VS와 PS를 따로 컴파일한다.Technique는 자체 포맷으로 만들었다. (DX11 대응 겸)
  • 셰이더 리소스 빌드 자동화할 수 없나요?컴파일 시간, 메모리 최적화다양한 시도를 하다가 결정된 포맷Version옵션 Hash 1옵션 Hash 2함수 이름 1함수 이름 2Version바이너리 1바이너리 2쉐이더 갯수 1개
  • 셰이더 리소스 빌드 자동화할 수 없나요?자동화 빌드CruiseControl.NET의 Daily Build로 등록한다.셰이더 수정이 일어나면 재 빌드가 필요하다.셰이더 코드가 체크인 되면 빌드 서버에서 셰이더를 포함해서 빌드하겠다는 설정을 걸고 빌드를 한다. 새벽엔 Daily Build로 돌아가게끔 설정. (Config On / Off)
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기넥슨 – 기현우
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기HL2 소스엔진에서 L4D 소스 엔진으로 마이그레이션 시도많은 수정과 자체적인 포맷들로 인해 마이그레이션은 포기L4D 소스 엔진에 작업 중.라이브를 위해서 HL2 소스엔진을 통해서 컨텐츠 만들때 사용한 팁
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기Z-Pre Pass 라이팅엔진이 Deffered나 Light Pre Pass를 적용하기는 힘든 구조32F 텍스쳐에 View-Space 기준으로 Z-Pre Pass 라이팅 적용Forward 렌더링을 유지하면서 Sun Shaft, DOF등 적용 가능.렌더링을 2번 해야 하므로 비용은 비싼편이다.
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기Sun Shaft, DOFSun Shaft태양을 중심으로 Radial Blur를 적용하였다.Z값을 Occlusion 정보로 활용하였다.DOF초점이 멀수록 블러를 적용Z값을 초점 거리를 계산할 때 활용
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기Sun Shaft, DOFSun Shaft플레이어, 보스, 월드만 중요DOF플레이어, 타겟, 월드만 중요플레이어, 타겟(보스), 월드만 렌더링 나머지는 Clear!
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기강조효과수풀을 많이 심어 밀림처럼 보이게 만들었다.시야를 많이 가리게 되어 카메라를 기준으로 반투명 처리를 했다.일부러 나무 틈 사이에 태양을 배치하여 SunShaft를 강조보스전 컷신때 보스 뒤에 태양을 배치하여 역광을 주어 강조
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기빗물 효과카메라에 묻는 빗물카메라를 기준으로 파티클을 뿌린다.노멀맵, 굴절도 적용바닥의 빗물텍스쳐 애니메이션을 이용
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기배의 흔들림월드를 그대로 두고 카메라를 흔든다.스카이 박스는 역방향으로 흔들어 하늘은 고정되어 보이게 한다.수평선등도 기울어 지겠지만 포그로 가려서 문제가 없었다.
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기빨판 (크라켄)빨판에 본을 심는건 너무 낭비로 판단텍스쳐 스페이스 기준으로 구 기반 버텍스 노이즈를 적용하기로 함.빨판 정면을 기준으로 (0, 0) ~ (1, 1) 텍스쳐를 잡는다.(0, 0)을 (-1, 1)로 변경하는 루틴을 넣어 구에 대응되게 계산노이즈 함수의 결과값을 이용해 Displacement 해준다.
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기사슬 무기무기에 20개정도 본을 넣었다. 듀얼이므로 40개정도 사용했음.휘두를때는 본 애니로 처리하고 그 후에는 물리 시뮬레이션 처리.캐릭터의 프레임과 무기의프레임을 강제적으로 동기화 한다.사슬은 본에 대해서 스플라인을 계산해 스프라이트를 적용한다.
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기TrailTrail을 줄때는 Plane의 2차원 배열을 만들고 그려주었다.가장자리 부분은 얇고 길게 처리하여 날카로움을 강조.
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기충돌처리벽이나 몬스터를 관통하지 못하도록 처리해야 한다.손을 기준으로 무기 끝과 벽사이의 거리를 이용하여 비율 적용.해당 비율로 본 스케일링을 해준다.충돌 점에 대해서 캐시를 두어 비용을 절약했다.
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기발사하기본 애니메이션은 일정 길이로 발사하도록 잡아놓는다.XY쪽은 스케일을 조정해주고 Z쪽은 상체 각도를 회전한다.(상하좌우로 던지기 위해서)일단 클라이언트에서 체크후 사슬을 건다.이후 서버에서 계산하고 위치를 보정해준다.보스등에 많이 사용되므로 보정이 티가 나지 않는다.
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기제압하기리액션에 대한 애니메이션 추가 없이 처리기존의 플린치 모션을 랜덤 롤백(초 중반 부분)한다.기존보다 재생 부분이 더 빨라야 한다.피니쉬때는 전체 재생을 한번 해주면 관성의 느낌도 줄 수 있다.
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기Y축 플리핑좌우 미러링 처리를 한다. (실루엣, 공격판정)로컬을 기준으로 Y축 플리핑 처리를 해준다. (CCW -> CW)튀는 부분은 중간 변경 모션을 추가하면 해결 될 것이다.
  • 마영전의 구세대 엔진으로차세대 비주얼 게임 만들기Z축 플리핑천장에 매달리는 연출을 위함.로컬 스페이스를 기준으로 Z축 플리핑천장과 충돌 체크 후 위치를 잡아줌.인공지능은 지상에 있는 걸로 처리 (대칭 구조라 상관 없었음)
  • 광택 재질 표현복셀 레이 트레이싱드래곤 플라이 – 허창민
  • 광택 재질 표현현재 스포2에서 물리 기반 쉐이딩을 적용조명, 거칠기, 반사도 설정으로 알아서 조명 계산이 되길 원함.특히나 Glossy Reflection 강조를 원함.관련된 내용중 Voxel Cone Tracing을 구현해 보기 위해서 VoxelRay Tracing을 먼저 해보게 되었다.
  • 광택 재질 표현VoxelizationOpen Source 중 Voxelizer를 이용함. (CUDA 베이스)(Obj파일을 Voxel화 시켜주는 코드가 포함되어 있음)Unreal3에 맞게 Emissive, Lightmap등을 추가해줌Obj 파일에는 Texture 좌표들을 추가해 주도록 수정균일한 그리드로 Export 시키도록 수정 (DX9에서 렌더링을 위함)HDR 계산된 부분은 Voxel의 Color 값으로 Voxel 데이터에 추가.
  • 광택 재질 표현3D – DDA 알고리즘X축 뿐만 아니라 Y축까지 고려하는 DDA 알고리즘해당 알고리즘을 이용하여 Ray Tracing을 하면 된다.
  • 광택 재질 표현Compositing그냥 렌더링 하면 복셀의 모양이 보이거나 투박해 보인다.1을 기준으로 불투명도를 누적해 가면서 색상을 적용하고 프레넬항을 적용하여 부드럽게 만들어 준다.GPG Gems3 참조.
  • 광택 재질 표현Memory 이슈64 해상도 -> 1MB인데 512 이상 해상도는 되야 퀄리티가 좋다.존재하는 복셀만 3D Texture에 담아서 사용한다.존재하는 복셀을 검사할 때는 64 해상도등 낮은 해상도로 먼저 계산하고 512 해상도로 처리한다.
  • 광택 재질 표현한계DX9를 기반으로 두고 있어 정적인 데이터로 뽑아서 사용해야 한다.아직 게임에 사용하기에는 힘들것 같다.Unreal4 엔진 등에서 실시간으로 Voxel Octree를 구축해주는 알고리즘이 나오고 있다.
  • WEBGL+NODE.JS+CUDA를 이용한 서버사이드 렌더링프로토타입넥슨 – 김혁
  • WEBGL+NODE.JS+CUDA를 이용한 서버사이드 렌더링node.js를 이용하여 웹에서 CUDA를 이용할 수 있는가가 중점
  • WEBGL+NODE.JS+CUDA를 이용한 서버사이드 렌더링WebGL웹 표준 3D 그래픽스 API (OpenGL ES 2.0에 대응)THREE.JS라는 개인이 만든 라이브러리를 추천한다.
  • WEBGL+NODE.JS+CUDA를 이용한 서버사이드 렌더링node.js네트워크 어플리케이션 (구글 V8 엔진)Javascript를 통해 사용한다.보조 모듈이 많다.싱글 스레드, 비동기 처리를 지향한다. (REQ 1 – RES 1)
  • WEBGL+NODE.JS+CUDA를 이용한 서버사이드 렌더링node.js 모듈node에 붙이는 플러그인으로 NPM을 이용하여 설치한다.1. express2. dnode3. binaryJS4. mongoDB5. etc…
  • WEBGL+NODE.JS+CUDA를 이용한 서버사이드 렌더링AJAX새로 고침 없이 데이터를 얻어온다.URL 기반의 요청, URL 페이지를 비동기로 받아온다.
  • WEBGL+NODE.JS+CUDA를 이용한 서버사이드 렌더링WEBSOCKET양방향 TCP 통신이 가능하다.REQ, RES 제한이 없다.
  • WEBGL+NODE.JS+CUDA를 이용한 서버사이드 렌더링흐름 구조Worker 쪽에서는 V8 쪽에 접근할 수 없게 구조가 되어 있다.V8쪽에서 Worker에 요청을 하고 바로 끝내면 Worker쪽에서 따로스레드를 돌아 처리하고 Callback을 해주는 형태로 진행
  • WEBGL+NODE.JS+CUDA를 이용한 서버사이드 렌더링디버깅Chrome Developer Tool을 이용한다.변수, 함수에 대해서 추가, 변경 가능Node용 디버깅 툴도 따로 있다. (WebStorm)C++ 모듈은 DLL로 빼기 때문에 VS에 연결해서 디버깅
  • WEBGL+NODE.JS+CUDA를 이용한 서버사이드 렌더링예외처리처리되지 않는 예외가 있으면 바로 죽는다.JavaScriptC++V8각각에서 예외 처리가능. V8에서 C++로 던질 수도 있음.
  • WEBGL+NODE.JS+CUDA를 이용한 서버사이드 렌더링실제 활용 케이스지형 생성툴 (C#)코어는 유지하고 Form 부분만 Web으로 포팅결과는 HTML5 Canvas를 이용해서 본다. (2D 이미지)실제 하이트 맵은 WebGL과 연동은 아직 못해봄.
  • WEBGL+NODE.JS+CUDA를 이용한 서버사이드 렌더링Web 기반 툴 장, 단점장점1. Download, Patch 불필요2. 서버에 따로 데이터를 올리지 않아도 됨3. UI 만들기가 비교적 편함(익숙하다는 전제)단점1. 동시접속 등 네트워크 이슈가 발생할 수 있음.2. 데이터를 연결하는 과정이 복잡할 수 있다.
  • MMO와 SNG의 컨버전스프로젝트 사무라이로 살펴보는 서버 전략드래곤 플라이 – 김익중
  • MMO와 SNG의 컨버전스node.js + redis를 이용PC와 모바일 기계를 동시에 처리하는 서버를 만들고자 노력한 부분에 대한 공유
  • MMO와 SNG의 컨버전스node.js실제 게임에서 사용할 수 있을까?libvr - 윈도우에서 node.js를 이용하여 iocp가 가능하도록 해주는 라이브러리javascript 기반이라 결과적으로는 느리다.(ASIO보다 약간느리고, 메모리는 2.5배정도 더 든다.)채팅 정도는 가능
  • MMO와 SNG의 컨버전스Socket IOnode.js를 이용하여 webbrowser에서 실시간 네트워킹을 한다.Win32에서 tcp에 연결하려면 쉽지 않다.HTTP로 일단 연결하고 HTTP 1.1로 연결을 유지시켜야 한다.발표자 블로그에 가면 소스 공유 되어 있음.
  • MMO와 SNG의 컨버전스Redis메모리 캐싱을 제공해준다.서로 다른 서버에 접속한 유저끼리 통신을 하게끔 연결해 준다.아직 개발중인 부분으로 Clustering이 불가능Master/Slave 복제는 가능
  • MMO와 SNG의 컨버전스PC에서 채팅을 보내면 모바일의 Push로 넘어오거나 모바일상에채팅으로 서로 연동되는 부분까지는 만들어 봤음.다음에는 Shading 등을 고려해서 만들어볼 생각….
  • 게임서버프레임워크의 자격넥슨 – 박경호
  • 게임서버프레임워크의 자격프레임워크와 앱을 따로 빌드하는 구조여야 한다.일반적인 서버 프레임워크의 제공1. 로깅2. 타이머3. 메시지 큐/핸들러4. 스레드 풀5. 패킷/메시지6. 커넥션 메니져
  • 게임서버프레임워크의 자격추가적으로 제공해야 될 부분1. 쓰레드 동시성2. 관련 함수들 생성 or 적용3. 메시지 인자 값 예외 처리4. Send 관련 코드5. DB 업데이트 요청6. 서버간 오브젝트 동기화7. 등등
  • 유연한 해외 서비스하기해외 버전 관리 전략과 효율적인 커뮤니케이션마이에트 엔터테인먼트 – 안중원
  • 유연한 해외 서비스하기Technical Writing1. 상대방이 원하는 정보를 우선적으로 적는다.2. KISS(Keep It Simple and Short)3. 가능한 능동태로 직관적으로 적는다.4. 한 물체를 한 단어로 표현하도록 노력한다.
  • 유연한 해외 서비스하기외국의 엔지니어와 소통하려면 하루 이틀은 금방 간다.개발자와 PM의 사고 방식이 다르다는 것도 기억해라.현지 엔지니어의 레벨은 신입이라 가정하고 간단하게 적도록 노력.글보다는 그림, 다이어그램으로 만드는게 더 효과적일 수 있다.스크린샷을 뜨고 박스로 강조하는 것도 좋다.
  • 유연한 해외 서비스하기SVN 관리하기1. 단일 저장소를 이용한다.2. 브랜치를 이용한다.3. 다른 버전으로 만든다.
  • 유연한 해외 서비스하기단일 저장소 사용각 나라 패치마다 최신의 내용이 적용된다.로컬별로 서로 영향을 받을 가능성이 있다.패치날이 겹치면 힘들 것이다.로컬 스위칭이 편하도록 구축해 놓아야 한다. (#if def도 쓸만하다.)
  • 유연한 해외 서비스하기브랜치를 이용한다.브랜치별로 언제 나눴는지 파악이 쉽다.비교적 안정된 버전이라 생각할 수 있다.로컬끼리 서로 영향을 주지 않는다.다른 로컬에서 해결된 문제가 다시 발생할 수 있다.브랜치 관리가 따로 필요하다.
  • 유연한 해외 서비스하기다른 버전으로 만든다.Merge를 바로 바로 해주지 않으면 나중에 피곤해진다.Merge1. 구간 (선택해서 Merge 가능(범위나 Rev 기준))2. 재통합(개발이 완료되고 주 저장소로 통째로 Merge 가능)3. 다른 트리(두개의 다른 트리끼리 Merge도 가능)
  • 유연한 해외 서비스하기충돌2명 이상의 개발자가 겹치면서 발생하는 현상1. File (작업 부분이 겹침) (따로 머지툴을 설치하면 더 좋다.)2. Tree (파일 삭제, 추가가 겹침)3. Property
  • 유연한 해외 서비스하기머지 주기는 가능한 짧게 잡는게 좋다.피쳐별 분리가 쉽게 만드는 것이 좋다.하나의 저장소에 통합하는 것도 꾸준히 해야한다.여유로운 마음을 가져야 한다.
  • 서버를 위한 디자인 패턴넥슨 – 임태현
  • 서버를 위한 디자인 패턴스레드 모델1. Single Thread2. Input Thread3. Custom Thread Pool4. Object Bound Thread Pool공통적으로 Input -> Excute -> Logic 의 흐름으로 진행된다.
  • 서버를 위한 디자인 패턴Single Thread폴링으로 받아서 처리한다.InputExcute(Poll)Logic
  • 서버를 위한 디자인 패턴Input Thread해석후 처리한다.InputExcute(해석)Logic
  • 서버를 위한 디자인 패턴Custom Thread Pool해석후에 Queue에 담아 Logic에 보내준다.Input Excute(해석/Queue)Logic
  • 서버를 위한 디자인 패턴Object Bound Thread Pool해석 후에 Logic에서 각 로직에 맞게 알아서 Queue에 담는다.InputExcute(해석)Logic(Queue)
  • 서버를 위한 디자인 패턴중간에 스레드 모델을 교체하기는 쉽지 않은 작업이다.일단 Single로 만들고 나중에 모델을 결정해서 변경하는게 그나마편한 선택이다.
  • 서버를 위한 디자인 패턴Game World나를 중심으로 범위안으로 들어온 객체들을 생성해서 유지하고 나가면 제거해주면서 처리한다. (그룹핑)공간 분할 알고리즘이 필요하다.간단한 알고리즘으로는 타일 분할이 있다.(빠르지도 느리지도 않은 것이 특징)
  • 서버를 위한 디자인 패턴심리스 월드눈에 보이는 객체들은 한 서버에 같이 있는것이 좋다.서버에 숫자 제한이 생기게 된다.경험상 Player 100명에 NPC는 5000~10000 정도
  • 서버를 위한 디자인 패턴동기 / 비동기DB에 쿼리나 Dead Lock, Sleep 등으로 공회전되는 시간이 많다.비동기로 처리하면 이런 부분은 막을 수 있다.동기로 처리하면 개발이 쉽지만 느릴때가 있다. (하지만 추천)비동기를 되도록 안쓰려고 한다고 함.
  • 서버를 위한 디자인 패턴조각 내기안 할 수 있는 부분은 안 하는게 좋다.바다를 건너는 등 불 필요한 월드 갱신 부분은 워프등으로 막자.초보용 마을편지등 여러 기능을 막고 유저를 조금이라도 더 받는 쪽으로 하자.메모리, CPU를 늘려라.돈으로 해결할 수 있는건 돈으로 해결하는게 좋다.
  • 서버를 위한 디자인 패턴현재는 C#을 사용하고 있다.Thread Model은 Input Thread Model을 이용중이다.100개 정도 돌린다.
  • REDIS 소스로부터 살펴보는 REDIS 쓸 때 주의할 점전 NHN – 강대명
  • REDIS 소스로부터 살펴보는 REDIS 쓸 때 주의할 점위험한 명령어 (데이터가 많을 수록 느리다.)1. Keys * (On 알고리즘) List나 SortSet을 이용해라.2. Flash All (On 알고리즘) 전체 삭제Single Thread짧은 시간이 걸리는 명령어, 작은 데이터일 수록 좋다.
  • REDIS 소스로부터 살펴보는 REDIS 쓸 때 주의할 점메모리 정책LRU등 다양한 정책이 존재한다.32비트는 기본적으로 4GB 제한이 걸려있다.64비트는 제한은 없고 현재 메모리를 넘어가면 디스크에 쓴다.
  • REDIS 소스로부터 살펴보는 REDIS 쓸 때 주의할 점Master / SlaveMaster에서 어떤 부분을 제거하면 Slave쪽에도 삭제가 된다.Slave쪽에 어떤 부분을 제거하는건 Master에 영향을 주지 않는다.Slave는 Master와 비교하여 다르면 Slave를 지우고 Master로 갱신한다. (slaveof no one으로 slave를 master로 변경할 수는 있다.)