REDIS LÀ GÌ
Redis là phần mềm mã nguồn mở, lưu trữ dữ liệu trên RAM và ổ đĩa .
Redis là một cơ sở dữ liệu dạng NoSQL cho hiệu suất rất tốt với việc hỗ trợ các cấu trúc dữ liệu strings, hashes, lists, sets, sorted sets.
Do tốc độ và hiệu năng tuyệt vời, Redis hay được dùng cho việc cache.
Redis có thể dễ dàng mở rộng với mô hình master-slave, hỗ trợ tất cả các ngôn ngữ lập trình phổ biến và chạy tốt trên các hệ thống Linux, *BSD, OSX.
Redis được tác giả Salvatore Sanfilippo cho ra mắt bản chính thức vào ngày 10/05/2009 .
TẠI SAO LẠI LÀ REDIS?
Trước đây, để cache dữ liệu chúng ta hay dùng memcache. Nhưng memcache được thiết kế đơn giản với việc chỉ hỗ trợ dữ liệu dang key-value. Đôi khi, chúng ta cần cache dữ liệu dạng phức tạp hơn (có cấu trúc) , và thế là redis ra đời.

Cơ bản về REDIS
Trong bài viết mình sẽ giới thiệu 5 kiểu của redis.
Đầu tiên, các bạn có thể tải redis tại đây và cài đặt theo hướng dẫn.
Sau khi cài đặt thành công, mở command line, gõ redis-cli. Đây chính là cửa sổ chúng ta tương tác với redis, mỗi khi gõ lệnh bạn có thể gõ tab để nhận được sự gợi ý từ của sổ command.
Lưu ý: dưới đây chỉ là những lệnh cơ bản của 1 kiểu dữ liệu, các bạn có thể tìm hiểu thêm các lệnh khác tại đây.
1 Strings
Trong redis, string tương tự các ngôn ngữ khác, được lưu dưới dạng key-value.
Các lệnh cơ bản:
SET: lưu dữ liệu vào key.
GET: lấy dữ liệu được lưu trong key, trả về nil nếu key không tồn tại.

2 Lists (linked-list cấu trúc)
LISHs hỗ trợ chúng ta lưu 1 danh sách các string dưới dạng linked-list
Các lệnh cơ bản
RPUSH: lưu dữ liệu vào đầu tiên của list
LRANGE: lấy dữ liệu trong 1 khoảng theo vị trí index
LINDEX: lấy dữ liệu theo vị trí index của giá trị trong list
LPOP: lấy dữ liệu đầu tiên trong list, xóa đi và trả về
LLEN: độ dài của list

3 Sets
SETs tương tự như LISHs, nhưng dữ liệu được lưu dưới dạng hashtable, nhằm đảm bảo mỗi giá trị là duy nhất.
Các lệnh cơ bản:
SADD: lưu dữ liệu vào set.
SMEMBERS: lấy danh sách của set.
SISMEMBER: kiểm tra 1 giá trị có trong set hay không.
SREM: xóa 1 giá trị trong set, nếu nó tồn tại.

4 Hashes
Nếu LISHs và SETs lưu một danh sách string thì HASHes là một danh sách các field và value.
Các lệnh cơ bản:
HSET: lưu giá trị và field vào hash.
HGET: lấy giá tri từ field trong hash.
HGETALL: lấy tất cả các giá trị và field trong hash
HDEL: xóa field trong hash, nếu nó tồn tại

5 ZSETs (Sorter Set)
Giống với HASHes, chứa dữ liệu dưới dạng key-value, trong ZSETs:
- các key được gọi là member, các member không được phép trùng nhau.
- value được gọi là score, các score là dạng số.
Các lệnh cơ bản:
ZADD: lưu member, score vào zset
ZRANGE: lấy dữ liệu trong 1 khoảng theo vị trí index
ZRANGEBYSCORE: lấy dữ liệu trong 1 khoảng theo score
ZREM: xóa 1 giá trị trong zset theo member, nếu nó tồn tại.

6 Một số lệnh khác
DEL: xóa một key.
EXPIRE: giới hạn thời gian tồn tại cho 1 key (theo đơn vị giây)
TTL: thời gian tồn tại của key (theo đơn vị giây)
Mình đã trình bày một số lệnh cơ bản trong redis. Nếu có thể, trong phần tới mình sẽ bổ sung thêm một số lệnh và một vài “best practice” trong redis.
Cảm ơn các bạn đã đọc bài.









(3 lượt thả tim)



