1.string类型 : 图片和视频文件,静态文件

2.list 双向链表:回帖ID,我的关注列表,消息队列

length = redis.lpush('users:newest', 'user:goku')
if length >
#trim is to we only keep "newest" users
redis.rpop('users:newest')
end

最新注册用户 $newest = [ 'goku', 'tom', ...];

# get the  newest users
keys = redis.lrange('users:newest', , )
#multi get the actual user objects
redis.mget(*keys)

3.set无序集合,通过hash table实现,优点是快速查找元素是否存在 :

  a. 记录一些不能重复的记录,例如用户名

  b. 记录做过的事情,比如限制用户一天内投一票,用时间做key,用户ID做member,以时间key来查询用户ID是否在members里面来确认是否投票。

Sets are the kind of data structure you use to keep track of friends and tags:

SADD friends:leto ghanima
SADD friends:leto duncan
SADD friends:paul duncan
SADD friends:paul gurney
SINTER friends:leto friends:paul
) "duncan"

4. sorted set 有序集合,用double类型的整数进行排序,由skipList(跳跃表)与Hash Table组合完成。

  a. 构建具有优先级的队列

  b. 排行榜排序,将排序的值设为score值

we could add a weight to our data:

ZADD friends:leto  ghanima
ZADD friends:leto duncan
ZADD friends:leto farad'n
ZRANGEBYSCORE friends:leto
) "duncan"
) "ghanima"

The above will get all of leto's friend with a score of 500-1000.

5. Hash类型,每个KEY对应一个Hash Table:适合用于存储对象,用户ID为KEY,用户数据为VALUE

HSET users:goku race sayan
HSET users:goku power
$user = new stdObj;
$user->race = ;
$user->power = ;

参考:

http://www.iyunv.com/thread-52670-1-1.html

REDIS处理

session.save_handler = redis

//多节点
session.save_path = "tcp://ip:port?auth=secret?weight=1&timeout=2.5,tcp://ip2:port2?weight=2" //单个节点
session.save_path = "tcp://ip:port?auth=secret?weight=1&timeout=2.5" //socket 方式
session.save_path = "unix:///var/run/redis/redis.sock?persistent=1&weight=1&database=0
ip: Redis 节点的 IP。

port: Redis 节点的端口。

auth: 与 Redis 节点进行权限验证。

weight: 权重,上面的例子表示session数量,ip2节点 是 ip1节点的两倍。

timeout: Redis 连接超时时间。单位:秒。连接失败时,Session不可用(风险!)

persistent: 持久连接。

prefix: 前缀,默认是 "PHPREDIS_SESSION:"。

database: 选择哪个 Redis 数据库。取值:int。参见 Redis 配置 databases 。

redis 应用场景的更多相关文章

  1. Redis应用场景-转载

    1.  MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的 ...

  2. Redis应用场景(转)

    (来源:http://www.cnblogs.com/shanyou/archive/2012/09/04/2670972.html) Redis常用数据类型 Redis最为常用的数据类型主要有以下五 ...

  3. redis(二)Redis适用场景,如何正确的使用

    网络IO模型 Memcached是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后,将连接描述字pipe 传递给worker线程,进行读写IO, ...

  4. redis使用场景

    Redis应用场景   Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作 ...

  5. <转>Redis 应用场景

    http://blog.csdn.net/hguisu/article/details/8836819 1.  MySql+Memcached 架构的问题 Memcached采用客户端-服务器的架构, ...

  6. Redis作者谈Redis应用场景

    Redis作者谈Redis应用场景 毫无疑问,Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多 ...

  7. Redis应用场景 及其数据对象 string hash list set sortedset

    原文地址:http://www.cnblogs.com/shanyou/archive/2012/09/04/2670972.html Redis开创了一种新的数据存储思路,使用Redis,我们不用在 ...

  8. Redis应用场景-整理

    1.  MySql+Memcached架构的问题 Memcached采用客户端-服务器的架构,客户端和服务器端的通讯使用自定义的协议标准,只要满足协议格式要求,客户端Library可以用任何语言实现. ...

  9. NoSQL数据库:Redis适用场景及产品定位

    传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量 ...

  10. 什么是redis,redis能做什么,redis应用场景

    Redis是一个key-value存储系统.Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用.这篇文章小编为大家分享了在 ...

随机推荐

  1. PHP5.3 goto操作符介绍

    goto操作符是PHP5.+后新增功能,用来跳转到程序的另一位置:用法很简单:goto后面带上目标位置的标志,在目标位置上用目标名加冒号标记如下: <?php goto a; echo 'aaa ...

  2. jsp放在web-inf下的注意事项

    转自:http://dejazhan.iteye.com/blog/1708785 web-inf目录是不对外开放的,外部没办法直接访问到(即不能通过URL访问).所有只能通过映射来访问,比如映射为一 ...

  3. yum与rpm的使用

    rpm常用的命令组合: rpm -ivh:安装显示安装进度--install--verbose--hash -Uvh:升级软件包--Update: -qpl:列出RPM软件包内的文件信息[Query ...

  4. Android:dimen尺寸资源文件的使用

    dimen.xml在values文件夹下面 <resources> <!-- Default screen margins, per the Android Design guide ...

  5. A. Robot Sequence

    A. Robot Sequence time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  6. jmeter性能测试实战-web登录测试

    一.项目背景: 网站信息: 操作系统类型 二.需求: 登录并发测试 三.场景: 1s增加两个线程,运行2000次 分别看20.40.60并发下的表现 四.监控: 成功率.响应时间.标准差.cpu.me ...

  7. QUnit使用笔记-2同步与异步处理方式

    同步: 有时候如果我们想判断方法执行的次数,可以通过间接设置expect(n);//可以将expect的参数放到test的第二参数来简化: QUnit.test("expect test&q ...

  8. Redis String命令

        命令 解释 APPEND key value 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾. 如果 key 不存在, APPEND ...

  9. Oracle 使用小计(3)

      1.出错处理 ORA-00911: invalid character. 这是因为在语句末尾加上了";"的缘故,去掉";"SQL就可以执行了~ (这与SQL ...

  10. [Unity3D]脚本中Start()和Awake()的区别

    Unity3D初学者经常把Awake和Start混淆. 简单说明一下,Awake在MonoBehavior创建后就立刻调用,Start将在MonoBehavior创建后在该帧Update之前,在该Mo ...