Thứ Sáu, 8 tháng 6, 2018

Play Cùng Redis - Cơ bản về Redis

Redis là gì?

Redis (giống như memcached) là hệ thống lưu trữ dữ liệu dưới dạng key-value, nghĩa là redis:
- Lưu trữ dữ liệu theo cấu trúc key-value
- Truy xuất dữ liệu-value dựa theo key

Redis hiện nay được sử dụng khá rộng rãi, với một số điểm mạnh nổi bật:

- Lưu trữ dữ liệu trên Ram, nên việc ghi và truy xuất dữ liệu nhanh chóng, tấc độ cao nhiều việc đọc ghi dữ liệu vào các database được lưu trữ trên disk.
- Redis có một điểm mạnh khác là hỗ trợ nhiều cấu trúc dữ liêu cơ bản: hash, list, set, sorted set, string
- Bên cạnh việc lưu trữ dữ liêụ trên RAM giúp tăng performance, Redis còn có cơ chế sao lưu dữ liệu trên disk giúp việc backup và restore dữ liệu dễ dàng.
- Sử dụng VÔ CÙNG ĐƠN GIẢN


Để install và config redis, tham khảo tại https://redis.io/


Bài viết này không đi sâu vào việc cài đặt và config redis, và sẽ tìm hiểu về việc redis gọi và truy xuất dữ kiệu thế nào.

Redis sử dụng client redis-cli để tương tác với redis-server.  Để kiểm tra redis-server có đang running hay không, gõ:
$ redis-cli ping 
pong
Để start redis cline, chạy lệnh redis-cli:
$ redis-cli  
127.0.0.1:6379>
Như đã nói ở trên, Redis lưu trữ dữ liệu dưới dạng key-value. Để add dữ liệu, chúng ta sử dụng câu lệnh SET và để lấy dữ kiệu ra, sử dụng GET:

127.0.0.1:6379> set key value
OK127.0.0.1:6379> get key
"value"


Việc thêm và lấy dữ liệu sử dụng Redis chỉ có thế :D

Redis thường được sử dụng để lưu trữ dữ liệu tạm thời.

Tham khảo thêm về Redis tại: https://www.tutorialspoint.com/redis

UPDATE 08/06/2018

Redis thường được các software sử dụng để lưu trữ dữ liệu tạm thời. Dùng python để PLAY cùng redis khá đơn giản :D

Đầu tiên phải cài thư viện redis

$ sudo pip3 install redis


Để import và get dữ liệu từ redis-server:

In [1]: import redis

In [2]: redis_db = redis.StrictRedis(host="localhost", port=6379, db=0)

In [3]: redis_db.keys()
Out[3]: [b'key1']

In [4]: redis_db.set('stack', 'python')
Out[4]: True

In [5]: redis_db.keys()
Out[5]: [b'key1', b'stack']

In [6]: redis_db.get('stack')
Out[6]: b'python'

In [7]: redis_db.delete('nokey') # return 0 vì không có key nào tên nokey tồn tại
Out[7]: 0

In [8]: redis_db.delete('stack') # return 1 báo đã delete thành công
Out[8]: 1

In [9]: redis_db.get('stack')

In [10]: redis_db.keys()

Out[10]: [b'key1']



Không có nhận xét nào:

Đăng nhận xét