Danh mục

Những kỹ thuật và công nghệ được sử dụng trong sản phẩm Ming.

Số trang: 13      Loại file: pdf      Dung lượng: 325.64 KB      Lượt xem: 8      Lượt tải: 0    
Thu Hiền

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Redis là một cách lưu trữ dữ liệu kiểu key/value, nó thực thi trên server ANSI C, redis cung cấp nhiều cách làm việc khác nhau để thực hiện một việc đơn giản : lưu trữ value(“aaa”) tới key(“redis”), trong đó với các keys chỉ hỗ trợ kiểu string thì với values sẽ hỗ trợ nhiều kiểu định dạng khác nhau
Nội dung trích xuất từ tài liệu:
Những kỹ thuật và công nghệ được sử dụng trong sản phẩm Ming.Những kỹ thuật và công nghệ được sử dụng trong sản phẩm Ming 2Công nghệ  Memcached(Đã được sử dụng rộng rãi trong các dự án công ty)  Redis(Phần I)Kỹ thuật  Open Authentication(Phần II)  SSO(Single Sign On)  Big4(Facebook, Yahoo, Twitter, Google)I. Redis Redis là một cách lưu trữ dữ liệu kiểu key/value, nó thực thi trên server ANSIC, redis cung cấp nhiều cách làm việc khác nhau để thực hiện một việc đơn giản :lưu trữ value(“aaa”) tới key(“redis”), trong đó với các keys chỉ hỗ trợ kiểu string thìvới values sẽ hỗ trợ nhiều kiểu định dạng khác nhau như : Strings, Lists, Sets,Sortedsets(zsets), Hashes. Và mỗi một loại kiểu định dạng khác nhau sẽ có một tậphợp các command làm việc với nó như: Thêm mới, loại bỏ một phần tử trongvalues... khác nhau. Có thể xem Redis như là một cấu trúc dữ liệu (data structures) cấp cao trênmáy server, khi một người dùng redis chỉ cần cung cấp một interface để “AbstractData Types(kiểu dữ liệu trừu tượng)”, từ đó người dùng không phải chạy các datastructures hay các thuật toán trên data structures đó mà có thể thực thi các commandcủa data type đó. Redis is free software released under the very liberal BSD license. Written inC(C99 standard). Redis có những đặc điểm giống như Memcached như:  Lưu Key – value (Key – value store).  Tất cả data được lưu trên Memory(RAM)  Key có thể hết hạn(expire) hoặc không  Nhanh(Fast), nhẹ nhàng(light-weight) Nhưng Redis có nhiều đặc điểm, chức năng khác mạng lại lợi ích khi sử dụngvà triển khai. Bao gồm:  Persistence  Multiple databases Team Ming 3  Queryable keyspace  Support for interger counters  Higher level data structures  Atomic operations  Ability to paginate lists without mutating them  Master-slave replication  Optional VM featureI.1 So sánh Redis, Memcached, Tokyo Tyrant and MySQL  Redis  Memcached  Tokyo Tyrant / Tokyo Cabinet  MySQL 5.1.40 (MyISAM)  MySQL 5.1.40 (with Innodb Plugin 1.0.4), compiled into source of MySQL  2 client boxes  All clients connecting to the server using Python  Used Pythons threads to create concurrency  Each thread made 10,000 open-close connections to the server  The server was o Intel(R) Pentium(R) D CPU 3.00GHz o Fedora 10 32bit o Intel(R) Pentium(R) D CPU 3.00GHz o 2.6.27.38-170.2.113.fc10.i686 #1 SMP o 1GB RAM  Used a md5 as key and a value that was saved  Created an index on the key column of the table  Each server had SET and GET requests as a different test at same concurrency Team Ming 4Team Ming 5I.2. Đăc điểm của RedisI.2.1. Persistence, higher level data structures Redis lấy và nạp dữ liệu trên Memory(RAM), nhưng tại một thời điểm thì dữliệu có thể được lưu trữ trên disk(Data in memory, but saved on disk). Có 2 kiểu persistence được supported:  Semi persistent mode (Snapshotting):  Thời gian lưu trữ data trên Memory và Disk là không đồng bộ Team Ming 6  Sau mỗi N sự thay đổi hoặc N thời gian nào đó thì data mới được lưu trữ trên disk.  Do việc lưu trữ data là không đồng bộ nên data có thể bị mất khi server gặp sự cố(restart or start)  Fully persistent mode (Append Only File)  Mỗi sự thay đổi được viết thêm vào một tệp tin. Mô hình này được gọi là “Append only file”, mỗi command nhận sự thay đổi thì được viết thêm vào file có định dạng là ASAP.  Những command này sẽ được chạy lại khi server restart hoặc start để nạp lại dữ liệu lên memory.I.2.2. Multiple databases và Data structures Điểm khác biệt dễ nhận thấy của Redis là: Key là một string nhưng value thìkhông giới hạn ở một string mà có thể là List, Sets, Sorted sets, .... Cấu trúc dữ liệucủa Redis gồm :  Strings  String-as-integers  List of Strings  Set of Strings(unique list)  Sorted Set of Strings(ZSET) Redis hỗ trợ “Multiple database” với nhiều commands để tự động remove keytừ một database tới database khác. Mặc định thì DB 0 sẽ được lựa chọn cho mỗi lần kết nối(connection), nhưngkhi sử dụng lệnh SELECT(SELECT command) thì nó ...

Tài liệu được xem nhiều: