Redis withSpring Data Document
Sean@WeaveusMay 2011
• http://redis.io/
• open source
• by CitrusByte
• sponsored by VMWare
2Monday, May 9, 2011
• key/value store
• in memory/persistence
• Values
• String, List, Set, Binary, ...
• command by values
• speed - faster
• replication - master/slave async
3Monday, May 9, 2011
4Monday, May 9, 2011
// String Type Value
sean@ubuntu:~$ redis-cli set mykey "my binary safe value"OKsean@ubuntu:~$ redis-cli get mykeymy binary safe value
sean@ubuntu:~$ redis-cli set mykey 100OKsean@ubuntu:~$ redis-cli incr mykey(integer) 101sean@ubuntu:~$ redis-cli incrby mykey 10(integer) 111
Redis Command Client
5Monday, May 9, 2011
sean@ubuntu:~$ redis-cli rpush messages "hello"OKsean@ubuntu:~$ redis-cli rpush messages "fine"OKsean@ubuntu:~$ redis-cli rpush messages "nosql"OKsean@ubuntu:~$ redis-cli lrange messages 0 21. hello2. fine3. nosqlsean@ubuntu:~$ redis-cli lrange messages 0 -1 // first to end1. hello2. fine3. nosql
List
6Monday, May 9, 2011
$ redis-cli incr next.news.id(integer) 1$ redis-cli set news:1:title "Redis is simple"OK$ redis-cli set news:1:url "http://code.google.com/p/redis"OK$ redis-cli lpush submitted.news 1OK
List with ID
• generate unique ID
• a new actual data
• push new ID of the actual data
7Monday, May 9, 2011
sean@ubuntu:~$ redis-cli sadd news:1000:tags 1(integer) 1sean@ubuntu:~$ redis-cli sadd news:1000:tags 100(integer) 1sean@ubuntu:~$ redis-cli sadd news:1000:tags 777(integer) 1sean@ubuntu:~$ redis-cli sadd tags:1:objects 1000(integer) 1sean@ubuntu:~$ redis-cli sadd tags:100:objects 1000(integer) 1sean@ubuntu:~$ redis-cli sadd tags:777:objects 1000(integer) 1sean@ubuntu:~$ redis-cli smembers news:1000:tags1. 7772. 1003. 1sean@ubuntu:~$ redis-cli sismember news:1000:tags 5(integer) 0
Set
8Monday, May 9, 2011
sean@ubuntu:~$ redis-cli sadd news:1001:tags 888(integer) 1sean@ubuntu:~$ redis-cli sadd tags:888:objects 1001(integer) 1sean@ubuntu:~$ redis-cli sinter tags:777:objects tags:888:objects(empty list or set)sean@ubuntu:~$ redis-cli sunion tags:777:objects tags:888:objects1. 10002. 1001
Set Selection/Union
9Monday, May 9, 2011
sean@ubuntu:~$ redis-cli zadd hackers 1940 "Alan Kay"(integer) 1sean@ubuntu:~$ redis-cli zadd hackers 1969 "Linus"(integer) 1sean@ubuntu:~$ redis-cli zrange hackers 0 -11. Alan Kay2. Linussean@ubuntu:~$ redis-cli zrangetbyscore hackers 1900 19501. Alan Kay
Sorted Set
10Monday, May 9, 2011
import redis.clients.jedis.JedisJedis jedis = new Jedis("ubuntu.sean.me")println jedis.lrange("messages", 0, -1)
// Result[hello, fine, nosql]
with Java
• JDBC-Redis
• Jedis library - Popular
11Monday, May 9, 2011
with Spring
RedisDriver
RedisTemplate
<<interface>>
Bean
Bean
@AutowiredRedis
Operations
12Monday, May 9, 2011
Beans
13Monday, May 9, 2011
Top Related