[Memcached]PHP & Memcached 연동
·
DB/Memcached
Centos7 PHP Version 7.2.16 memcached 1.4.15다음과 같은 환경에 진행했다. 1. Memcached 설치 yum -y update # yum으로 설치하면 1.4.15 버전이 설치됨, 가장 최신 버전은 1.5.13 yum -y install memcached # 설치확인 memcached -h설정 파일 위치 /etc/sysconfig/memcached2. PHP-Memcached 설치 PHP에서 Memcached를 사용하게하는 라이브러리이다 php에서 memcached를 사용하기위한 라이브러리 2개(memcache, memcached)가 있다. 나는 memcached를 설치했다. memcahced가 사용할 수 있는 메소드가 더 많다고 한다. 참고 php-memcached를 사..
[MySQL]3. 정렬과 연산
·
DB/MySQL
9. 정렬 - ORDER BY ORDER BY 구를 사용하여 검색 결과의 행 순서를 바꿀 수 있다. 지정하지 않을 경우 데이터베이스 내부에 저장된 순서로 반환된다. ORDER BY는 검색된 레코드를 어떤 순서로 정렬할지 결정한다. 만약 ORDER BY 절이 사용되지 않으면 SELECT 쿼리의 결과는 어떤 순서로 정렬될까? 인덱스를 사용한 SELECT의 경우에는 인덱스의 정렬된 순서대로 레코드를 가져온다. 인덱스를 사용하지 못하고 MyISAM 테이블은 테이블에 저장된 순서대로 가져오는데 이 순서가 INSERT 된 순서를 의미하는 것은 아니다. 일반적으로 테이블의 레코듸가 삭제 되면서 빈 공간이 생기고, ISNERT 되는 레코드는 항상 테이블의 마지막이 아니라 빈 공간이 있으면 그 빈 공간에 저장되기 때문이..
[MySQL] 2. 테이블에서 데이터 검색
·
DB/MySQL
4. 데이터 조회하기 SQL을 통해 데이터를 조회해보자. 1) 'SELECT * FORM 테이블명' 실행 SQL 명령은 mysql클라이언트를 통해 실행할 수 있다. SELECT * FROM 테이블명 xxxxxxxxxx SELECT * FROM employees; SELECT 문을 통해 데이터를 조회할 수 있다. 2) SELECT 명령 구문 SELECT는 DML에 속하는 명령으로 SQL에서 자주 사용된다. SELECT 명령으로 데이터베이스의 데이터를 읽어올 수 있다. xxxxxxxxxx SELECT * //열 이름, *은 모든 열 FROM employees; *는 테이블의 모든 열을 출력하도록 한다. 열 이름을 지칭하면 해당 열의 데이터들만 표시된다. 3) 예약어와 데이터베이스 객체명 SQL에서 이미 사용..
[MySQL] 1. 데이터베이스와 SQL
·
DB/MySQL
1) 데이터베이스 데이터베이스는 이러한 의미있는 데이터를 모아놓은 데이터의 모임이다. 데이터베이스 내의 데이터는 영구적으로 보존해야 하기 때문에 보조 기억장치에 저장하여 관리된다. 이러한 데이터베이스를 이용하기 위해 DBMS를 이용한다. 서비스를 운용하는데 필요한 데이터를 저장하고 관리하기 위한 도구가 DBMS이다. SQL을 통해 DBMS를 이용하여 데이터베이스를 참조하거나 데이터를 관리한다. SQL은 RDBMS를 조작할 떄 사용되는데 크게 3가지로 나뉠 수 있다.DML(Data Manipulation Language) : 데이터베이스에 새로운 데이터를 추가하거나 삭제, 수정 등 데이터를 조작할 때 사용하는 명령어(ex: SELECT, UPDATE, DELETE)DDL(Data Definition Lan..
[MySQL] worckbench로 다이어그램 그리기
·
DB/MySQL
workbench 구조도 연결 설정 후 NEXT NEXT 스키마 선택 후 NEXT NEXT EXECUTE NEXT FINISH 완료
[ubuntu] apt-get error
·
기타/ubuntu
[ubuntu] apt-get error우분투에서 apt-get을 실행할 때 다음과 같은 오류가 발생하는 경우가 있다.​xE: /var/lib/dpkg/lock 잠금 파일을 얻을 수 없습니다 - open (11: Resource temporarily unavailable)E: Unable to lock the administration directory (/var/lib/dpkg/), is anothers process using it?​E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)E: Unable to lock the administration directory (/var/lib/dpkg/) is..
[C++]inline 함수
·
Language/C C++
[C++]inline 함수기본적으로 함수 호출은 메모리상의 점프를 이용하며, 여러가지 상태 정보등을 저장하고 복원해야 하므로 내부적으로 복잡한 과정을 거친다. 프로그램이 실행되며 한줄씩 수행해 나가다가 함수 호출을 만나면 해당 함수의 메모리 영역으로 이동후 동작을 수행한다. 하지만 인라인 함수는 해당 함수 호출을 함수의 코 저체를 호출한 코드 위치로 모두 복사하여 대체한다. 따라서 함수 호출 단계가 줄어 복잡한 과정이 생략되므로 함수 동작 방식이 더 간단해지고 성능이 향상된다. 하지만 인라인함수가 항상 좋은것은 아니다. 인라인 함수는 코드를 대체하는 것이기 때문에 해당 함수를 호출하는 구문이 많아질 수록 실행 파일의 크기도 커진다. 호출 구문이 모두 함수의 정의로 바귀어서 전체 코드 양이 늘어나기 때문이..
[C/C++]std::mutex
·
Language/C C++
[C/C++]std::mutex멀티 쓰레드를 이용한 프로그램을 작성할 때 공유 자원의 관리에 주의해야한다. 여러 쓰레드가 동시에 같은 데이터를 변경할 경우 의도하지 않은 결과를 초래할 수 있다. 이런 멀티 쓰레드 환경에서 발생하는 문제점을 동기화 메커니즘으로 해결할 수 있다.먼저 동기화를 사용하지 않을 경우 발생하는 문제를 살펴보자.#include //std::thread #include //printf() using namespace std; int sum = 0; void Add(int cnt) { for (int i = 0; i < cnt; i++) { sum += 1; } } void Sub(int cnt) { for (int i = 0; i < cnt; i++) { sum -= 1; } } in..