728x90

 

리스트 타입의 경우 LPUSH or RPUSH 로 리스트를 특정 방향으로 푸쉬할 수 있는데

LPUSH 경우 0번 인덱스에 계속 채운다고 생각하면 된다

 

0번 인덱스 1 번 인덱스 2 번 인덱스
third second first

 

이런 식 이다

 

여기서 꺼낼떄는 유추하기 쉽게 LPOP or RPOP 으로 방향을 지정하고 꺼내면된다

이때 방향에 따라서 스택 구조 or 큐 구조로 사용할 수 있다

 

다음은 LPOP 왼쪽에서 부터 즉, 제일 늦게 넣은것을 꺼내니까

스택 구조가 되겠다 

 

 

큐 구조는 반대로 

RPOP queue 로 꺼내면 된다

728x90

'리눅스 > redis' 카테고리의 다른 글

정렬된 SET  (0) 2024.01.21
Hash 자료형  (0) 2024.01.21
Set 자료  (0) 2024.01.21
docker - redis - String Type  (0) 2024.01.15
docker - redis 설치  (0) 2024.01.15
728x90

 

일반적으로 set 으로 key, value를 등록하면 문자열 타입으로 저장하는 것인데

다수의 키를 저장할 때  효과적인 mset, mget 명령어가 있다.

 

mset 이라는 명령어로 "멀티 set " 을 할 수 있다.

마찬 가지로

mget 이라는 명령어로 "멀티 get"을 할 수 있으며

 

숫자 값을 사용했을 경우에

incr 로 ++ 연사을 할 수 있으며 (mysql의 auto incremnet 처럼)

 

incrby 로 특정 값만큼 증가 시킬수 있다

 

또한 JSON 문자열도 문자열이니 등록할 수 있다

 

728x90

'리눅스 > redis' 카테고리의 다른 글

정렬된 SET  (0) 2024.01.21
Hash 자료형  (0) 2024.01.21
Set 자료  (0) 2024.01.21
docker - redis - List Type  (0) 2024.01.15
docker - redis 설치  (0) 2024.01.15
728x90

현재 내 도커 버전은 이렇다

 

 

 

간단하게 최신 버전 redis 6.2 버전을 다운받자

 

 

 

잘 설치가 되었다.

 

 

이미지가 잘 설치 되었으니 그럼 뭘 해야겠는가?

바로 실행해야지!

호스트 포트도, 컨테이너 포트도 동일하게 6379로 주었다 (레디스 기본)

 

 

 

 

이젠 레디스 컨테이너에 접속하여 레디스를 실행 시키자

 

 

다음은 간단하게 동작 테스트 및

데이터를 하나 넣어보고 삭제해보자

 

ping 을 보내면 pong 을 받을 것이고 그렇다면 잘 동작한다는 뜻이다.

 

name이라는 key에 natae라는 value를 만들어보고, 읽어보고, 삭제하는 예제이다

 

종료할때는 exit를 입력하면 된다

 

 

 

 

 

728x90

'리눅스 > redis' 카테고리의 다른 글

정렬된 SET  (0) 2024.01.21
Hash 자료형  (0) 2024.01.21
Set 자료  (0) 2024.01.21
docker - redis - List Type  (0) 2024.01.15
docker - redis - String Type  (0) 2024.01.15
728x90



docker run -itd -p 6060:6060 --name=node-run -h node-run noderun:1.0

docker [cotainer] run [option] docker_image [command]

-i : 대화식 모드  

-t : tty 할당

-h : 호스트 네임 설정

-d : 백그라운드에서 실행

--name : 컨테이너 이름 설정

--rm : 컨테이너 종료시 자동으로 컨테이너 제거

--restart : 컨테이너 종료시 적용할 재시작 정책 지정
기본적으로 no,
on-failure, on-failure 횟수, always 가 있다

-e, --env : 컨테이너의 환경변수 지정
--env-file은 여러 환경 변수를 파일로 생성하여 지정하는 방법

-v : 호스트 경로와 컨테이너 경로의 공유 볼륨 설정 Bind Mount 작업

-p : hostPort : ContainerPort

-P : 컨테이너 내부의 노출된 포트를 호스트 임의의 포트에 게시

--workdir,-w : 컨테이너 내부의 작업 경로


-------------------

✅ "이미" 실행중인 컨테이너에게 명령어를 전달
👀 run은 실행할때 명령어 전달 

docker exec <컨테이너 id>
- docker exec <컨테이너 id> ls
- docker exec <컨테이너 id> ifconfig




✅ 컨테이너안에서 실행된 서버에게 클라이언트가 명령어 전달할때
-i : 상호적인
-t : 터미널 
docker exec -it <컨테이너 id> <명령어>
- docker exec -it <컨테이너 id> redis-cli




 docker top [컨테이너이름/컨테이너아이디] 
 : 프로세스 보기


 docker port [컨테이너이름/컨테이너아이디] 
 : 포트 보기

 docker stats [컨테이너이름/컨테이너아이디] 
 : 리소스 사용 통계 실시간 출력

docker run --restart=always --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=9559:8080 --detach=true --name=cadvisor --privileged --device=/dev/kmsg gcr.io/cadvisor/cadvisor:latest


docker logs -f [컨테이너이름/컨테이너아이디] 
 : 로그보기 실시간옵션 -f


도커 컨테이너별 로그파일

ls -l /var/lib/docker/containers/ef3340ba4638ccadd690734ce4958592469c3dae089097a59196a178328f3c46
앞에 ef3340...은 컨테이너 아이디와 같은부분이다


sudo truncate -s 0 [파일경로]
 : 0바이트로 만든다



docker cp runapp.js node-run:/app/runapp.js
 : 운영중인 컨테이너가 사용하는 runapp.js 라는 파일을
 수정후 컨테이너 내에 복사하기 이후 다음명령어 실행

docker restart node-run 
 : 컨테이너 재실행


docker events
 : 도커 이벤트 실시간 보기


docker kill [컨테이너이름/컨테이너아이디] 
 : 즉시 종료 (exit code 137) 

 참고, 리눅스의 kill로 죽인다면 컨테이너 는 살고, 접속한 계정만 죽는다


docker diff [컨테이너이름/컨테이너아이디] 
 : A: 추가, D: 삭제, C: 변경

docker commit node-run node-run:2.0
 : 변경 사항을 포함하는 이미지 만들기


docker export node-run > node-run.tar
 : 파일로 내보내기
 




docker network ls
 : 도커 네트워크 보기 



docker network ls
 : 도커 네트워크 보기 

sudo apt install bridge-utils
brctl show

 

 

docker network inspect bridge
 : 도커 브릿지 네트워크 정보보기 
 - IPAM 부분

 

 

 

sudo iptables -t nat -L -n 

 

728x90
728x90

curl -d '{ "key" : "value" }' -H "Content-Type : application/json" \

-X POST URL

728x90

'리눅스 > linux' 카테고리의 다른 글

iptables 저장 방법  (0) 2024.01.29
iptables 사용법  (1) 2024.01.29
Samba Server 를 구축해보자 (우분투, Ubuntu)  (0) 2024.01.28
Docker 명령어  (1) 2023.12.05
CentOS7 - JDK 1.8설치  (0) 2021.04.12
728x90

JDK를 설치해보장

오라클 링크는 다음과 같다

www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

여기서 

노랑색으로 색칠한 파일을 다운 받겠다. 

오라클에서 jdk 다운로드시 회원가입이 필수이다. 이참에 회원가입안한사람들은 가입해주장

 

다음 처럼 다운을 받았다.(윈도우 사용자같은경우 파일질라나 scp 명령어로 옮기거나

wget 해당URL 명령어로 다운을 받자.

 

원하는 위치에서 압축을 풀어주자, 본인은 루트의 홈디렉터리에서 하였다.

다음과 같이 폴더가 생겼다 .

자바 명령어를 리눅스 쉘에서 사용하려면

명령어 파일의 위치를 리눅스가 알도록해야한다 , 이를 보통 환경변수를 설정한다고 말한다.

 

현재 설치된 폴더위치를 pwd로 확인하였고, 설정파일인 /etc/profile 을 텍스트 에디터로 오픈한다

입력하고 :wq 로 저장하고 나간다

 

적용을 위해서 source /etc/profile 실행

 

버전확인 명령어를 쳐보자

728x90

'리눅스 > linux' 카테고리의 다른 글

iptables 저장 방법  (0) 2024.01.29
iptables 사용법  (1) 2024.01.29
Samba Server 를 구축해보자 (우분투, Ubuntu)  (0) 2024.01.28
Docker 명령어  (1) 2023.12.05
JSON 방식으로 리눅스에서 컨트롤러 호출하는 방법  (0) 2021.04.19

+ Recent posts