Nhng k thut và công ngh được s dng trong sn
phm Ming
Team Ming
2
ng ngh
Memcachedã được s dng rng rãi trong các d án công ty)
Redis(Phn I)
K thut
Open Authentication(Phn II)
SSO(Single Sign On)
Big4(Facebook, Yahoo, Twitter, Google)
I. Redis
Redis là một cách lưu trữ dliệu kiểu key/value, 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 như : Strings, Lists, Sets,
Sortedsets(zsets), Hashes. mi một loại kiểu định dạng khác nhau s một tập
hợp các command làm việc với như: Thêm mới, loại bỏ một phần tử trong
values... khác nhau.
th xem Redis như một cấu trúc d liệu (data structures) cp cao trên
y server, khi một người dùng redis chcần cung cấp một interface đ Abstract
Data Types(kiểu dữ liệu trừu tượng)”, tđó người dùng không phi chạy các data
structures hay các thut toán trên data structures đó mà có thể thực thi các command
ca data type đó.
Redis is free software released under the very liberal BSD license. Written in
C(C99 standard).
Redis những đặc điểm giống như Memcached như:
Lưu Key value (Key value store).
Tt c data được lưu trên Memory(RAM)
Key th hết hn(expire) hoc không
Nhanh(Fast), nh nhàng(light-weight)
Nhưng Redis nhiu đặc điểm, chc năng khác mng li li ích khi s dng
và trin khai. Bao gm:
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 feature
I.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 Python's 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
4
Team Ming
5
I.2. Đăc điểm ca Redis
I.2.1. Persistence, higher level data structures
Redis ly np d liệu trên Memory(RAM), nhưng tại mt thi điểm thì d
liu có th được 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