pgmemcache là một tập hợp các hàm do người dùng định nghĩa (API) của PostgreSQL cung cấp giao diện cho memcached. pgmemcache, điều kiện tiên quyết là bạn nên cài đặt libmemcached, tuy nhiên, bạn cũng nên cài đặt memcached cùng với nó. Bản trình bày của tôi bao gồm cài đặt / bộ nhớ đệm / giám sát bằng cách sử dụng API pgmemcache. Vì tôi không phải là Nhà phát triển hay Hacker :), vì vậy cách thực hiện của tôi là theo phương pháp rất đơn giản.
Điểm:
- Lưu trữ giá trị trong bộ nhớ cache trên cơ sở các phương tiện Khóa / Giá trị, nên giữ bảng có khóa chính / khóa duy nhất.
- Không có dữ liệu dư thừa - Nếu bộ nhớ đệm gặp sự cố hoặc hết dung lượng, các bản ghi và bản cập nhật mới sẽ bị mất.
- Hỗ trợ tất cả các lệnh đã ghi nhớ (set / get (single / multi) / delete / Replace / incr / stats)
- Sau khi giữ dữ liệu vào bộ nhớ đệm và nếu bạn bỏ bảng khỏi chương trình phụ trợ, bộ nhớ đệm sẽ không gây ra bất kỳ lỗi nào. Tất cả là do bạn quản lý, cách bạn duy trì nó.
- Không có khả năng lặp lại dữ liệu hoặc xác định khóa nào đã được lưu trữ.
- Bạn không bao giờ có thể hạ máy chủ đã lưu trong bộ nhớ cache hoặc thêm một máy chủ mới vào nhóm khi mọi người đang chơi hoặc kết nối.
- Nếu quá trình cập nhật nền dừng lại vì bất kỳ lý do gì, các bản cập nhật sẽ không xảy ra và có khả năng máy chủ memcached có thể lấp đầy.
- Mọi chương trình phụ trợ PostgreSQL phải liên kết với cổng memcached trước khi truy cập dữ liệu.
- Memcached chạy trên cổng mặc định 11211
Điều kiện tiên quyết:
- PostgreSQL 8.4. trở lên
- tự do
- memcached
- libmemcached
- pgmemcache
- Giám sát-Công cụ (công cụ giám sát, damemtop, v.v.,)
Cài đặt:
Bước 1 (tự do)
Libevent API rất quan trọng khi định cấu hình pgmemcache, tôi muốn có các thư viện ở bước cài đặt đầu tiên. Vì vậy, hãy bắt đầu với việc định cấu hình thư viện libevent ở vị trí mặc định.
Download link for libevent:
http://www.monkey.org/~provos/libevent-2.0.12-stable.tar.gz
tar -xvf libevent-2.0.12-stable.tar.gz
cd libevent-2.0.12-stable
./configure
make
make install
Bước 2 (ghi nhớ)
Cài đặt memcached bằng cách bật giải phóng.
Download link for memcached:
http://memcached.googlecode.com/files/memcached-1.4.6.tar.gz
cd /usr/local/src/memcached-1.4.6
------on 32-bit
export LD_LIBRARY_PATH=/usr/lib:/opt/PostgreSQL/9.0/lib:$LD_LIBRARY_PATH
./configure --prefix=/opt/PostgreSQL/9.0/bin/ --with-libevent=/usr/lib
------on 64-bit
export LD_LIBRARY_PATH=/usr/lib64:/opt/PostgreSQL/9.0/lib:$LD_LIBRARY_PATH
./configure --prefix=/opt/PostgreSQL/9.0/bin/ --with-libevent=/usr/lib64
make
make install
Bước 3. (libmemcached)
pgmemcache được xây dựng trên libmemcached. Libmemcached tìm kiếm vị trí nhị phân memcache, vì vậy hãy đặt đường dẫn đến các tệp nhị phân memcached trước khi tiếp tục.
export PATH=/opt/PostgreSQL/9.0/bin/bin:$PATH
export LD_LIBRARY_PATH=/usr/lib:/opt/PostgreSQL/9.0/lib:$LD_LIBRARY_PATH
Download link:
http://launchpad.net/libmemcached/1.0/0.50/+download/libmemcached-0.50.tar.gz
cd libmemcached-0.50
./configure
make
make install
Bước 4 (pgmemcache)
API pgmemcache sẽ hỗ trợ, tương tác với memcached như bộ nhớ đệm / truy xuất dữ liệu.
Download link:
http://pgfoundry.org/frs/download.php/3018/pgmemcache_2.0.6.tar.bz2
cd pgmemcache
PATH=/opt/PostgreSQL/9.0/bin:$PATH make USE_PGXS=1 install
or
make
make install
Cài đặt sẽ tạo tệp pgmemcache.sql với tất cả API để tương tác với memcache trong vị trí đóng góp PG. Để tạo API pgmemcache, chỉ cần tạo tệp pgmemcache.sql trong tất cả cơ sở dữ liệu.
psql -p PGPORT -d PGDATABASE -f /opt/PostgreSQL/9.0/share/postgresql/contrib/pgmemcache.sql
Danh sách của pgmemcache API:
Lưu ý: Trong khi thực thi tệp .sql, bạn có thể gặp phải lỗi như “ISTFATAL:không thể tải thư viện“ /opt/PostgreSQL/9.0/lib/postgresql/pgmemcache.so ”:libmemcached.so.8:không thể mở tệp đối tượng được chia sẻ:Không có tệp như vậy hoặc danh mục". Có nghĩa là, phiên bản PG không được tải với thư viện mới được tạo. Giải pháp, đặt PATH và LD_LIBRARY_PATH và khởi động lại phiên bản để nhận dạng các thư viện.
Eg:-
export PATH=/opt/PostgreSQL/9.0/bin/bin:$PATH
export LD_LIBRARY_PATH=/usr/lib:/opt/PostgreSQL/9.0/lib:$LD_LIBRARY_PATH
$pg_ctl -D $PGDATA restart
Nếu bạn muốn tải pgmemcache làm mặc định cho phiên bản PG của mình, hãy chỉnh sửa tệp postgresql.conf và thay đổi các thông số sau và khởi động lại cụm.
shared_preload_libraries='pgmemcache'
custom_variable_classes='pgmemcache'
Cấu hình:
Bước 1.
Đối với dữ liệu bộ nhớ đệm, trước tiên bạn cần khởi tạo bộ nhớ, sau khi bộ nhớ được phân bổ, PG phụ trợ sau này sẽ chịu trách nhiệm liên kết và đẩy dữ liệu vào bộ đệm. Ở đây, tôi đã khởi động memcache của mình trên localhost với 512MB trên cổng mặc định 11211. -d có nghĩa là khởi động daemon. Tất cả bài tập của tôi là trên localhost.
$./memcached -d -m 512 -u postgres -l localhost -p 11211
Lưu ý:Để truy xuất dữ liệu từ bộ nhớ cache, mọi chương trình phụ trợ PostgreSQL trước tiên phải liên kết và truy xuất dữ liệu.
Bước 2.
Liên kết phiên bản với cổng memcache đang chạy. Sau khi ràng buộc, hãy kiểm tra số liệu thống kê đã ghi nhớ.
Bước 3.
Bây giờ, đã đến lúc lưu dữ liệu vào bộ nhớ cache, Memcached sử dụng các khóa / giá trị để lưu trữ dữ liệu trong bộ nhớ của nó, vì vậy hãy đảm bảo bảng của bạn có khóa Chính / Duy nhất để việc truy xuất sẽ dễ dàng. Như đã đề cập, có nhiều API rất tốt để giữ giá trị và truy cập chúng, trong ví dụ của tôi, tôi sử dụng memcache_set () để giữ giá trị và memcache_get () để truy xuất dữ liệu.
Sau khi giá trị được đặt trong memcached, bây giờ bạn có trách nhiệm ràng buộc phần phụ trợ của mình với memcached và với sự trợ giúp của API pgmemcache, bạn có thể truy cập dữ liệu. Mỗi phần phụ trợ Postgres phải ràng buộc trước khi truy cập. Vui lòng tìm ví dụ bên dưới.
Lấy dữ liệu từ bộ nhớ đệm
Giám sát
Nếu bạn rất giỏi về linux, bạn có thể lấy tối đa thông tin trên bộ nhớ đệm, tuy nhiên có rất ít công cụ đi kèm với gói nguồn memcached như công cụ giám sát, damemtop, v.v.,. Đang sử dụng tiện ích công cụ giám sát để theo dõi memcache.
Cách sử dụngusage:-
memcached-tool localhost display
memcached-tool localhost dump
memcached-tool localhost stats | grep bytes
Ví dụ:
Một nỗ lực nhỏ từ phía tôi để thiết lập pgmemcache và hiểu những điều cơ bản. Hy vọng nó là hữu ích. Tiếp tục đăng nhận xét hoặc đề xuất của bạn được đánh giá cao.