Redis学习

2014-01-26 09:37:38

来公司快半年了,还有几天就快回家了,好开心。今天我准备梳理下redis的相关内容。

1.Redis是什么

 简单来讲,Redis就是一个key-value数据库,适合所有数据in-memory的场景。

2.Redis常用数据类型

Redis最常用的数据类型主要是下面5种:

  • string
  • hash
  • list
  • set
  • sorted set

3.Redis里可以有表么

 在使用redis的时候,会和使用sql表有很大区别,我们没有语句去操控redis服务,有的仅仅是一些简单的命令。这些命令是数据类型敏感的,比如我们把set命令使用在list上,就会得到一个错误。我们来考虑一个简单的sql表。

id username password name surname
1 user1 pass1 Bob Smith
2 user2 pass2 Mario Rossi

 我们如何才能把这个简单的sql表存到Redis中呢?在sql结构中,我们可以使用select id的方式,获取一个记录的所有内容。所以,就有了下面这种存储方式。

Key Value
user:1:username user1
user:1:password pass1
user:1:name Bob
user:1:surname Smith
user:2:username user2
user:2:password pass2
user:2:name Mario
user:2:surname Rossi

现在,给定一个用户的id,我们就可以通过 user:1:username,user:1:password,user:1:name,user:1:surname1这种方式去获取所有数据了。

如果上面的数据用来支持一个登陆程序,则给定一个用户名,我们也需要去获取整条纪录的信息。这时候最好的方式是建立一个映射关系user-id。即给我们的数据设计添加一个keys, user:username:id。

Key Value
user:user1:id 1
user:user2:id 2

 所以,如果此时Mario Rossi登陆我们的系统,我们就可以根据他提供的用户名获取id,从而获取他的整个用户信息。

Redis学习

上一篇:Sicily 2711. 模板与STL 解题报告


下一篇:cocos2dx阴影层的实现