redis 应用场景
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 应用场景的更多相关文章
- Redis应用场景-转载
1. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的 ...
- Redis应用场景(转)
(来源:http://www.cnblogs.com/shanyou/archive/2012/09/04/2670972.html) Redis常用数据类型 Redis最为常用的数据类型主要有以下五 ...
- redis(二)Redis适用场景,如何正确的使用
网络IO模型 Memcached是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后,将连接描述字pipe 传递给worker线程,进行读写IO, ...
- redis使用场景
Redis应用场景 Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作 ...
- <转>Redis 应用场景
http://blog.csdn.net/hguisu/article/details/8836819 1. MySql+Memcached 架构的问题 Memcached采用客户端-服务器的架构, ...
- Redis作者谈Redis应用场景
Redis作者谈Redis应用场景 毫无疑问,Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多 ...
- Redis应用场景 及其数据对象 string hash list set sortedset
原文地址:http://www.cnblogs.com/shanyou/archive/2012/09/04/2670972.html Redis开创了一种新的数据存储思路,使用Redis,我们不用在 ...
- Redis应用场景-整理
1. MySql+Memcached架构的问题 Memcached采用客户端-服务器的架构,客户端和服务器端的通讯使用自定义的协议标准,只要满足协议格式要求,客户端Library可以用任何语言实现. ...
- NoSQL数据库:Redis适用场景及产品定位
传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量 ...
- 什么是redis,redis能做什么,redis应用场景
Redis是一个key-value存储系统.Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用.这篇文章小编为大家分享了在 ...
随机推荐
- hdu 1012:u Calculate e(数学题,水题)
u Calculate e Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- 使用 layoutopt 进行布局优化
使用 layoutopt 进行布局优化 Layoutopt 是一款简单的命令行工具,可帮助找到不必要的控件嵌套以及缩减布局资源,从而使应用变得可能“苗条”.控件越少.布局层次越浅,性能就越好. 如果使 ...
- 【现代程序设计】homework-04
题目要求: 第四次作业,构造一个方阵将指定单词填入 stage 1:每个单词只出现1次,且八个方向各至少有两个单词 stage 2:矩阵长宽相等 stage 3:方阵的四个角都要参与单词的构建 算法思 ...
- loj 1150(spfa预处理+二分+最大匹配)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26864 思路:首先是spfa预处理出每个'G'到'H'的最短距离, ...
- sqldatasource控件设置where语句
按照学号查找显示信息,我现在也不知道各部分代表的含义,先记下来
- Bitnami Redmine安装和插件配置
公司要进行敏捷开发管理,最后选择Redmine作为管理工具. 而Redmine本身的安装非常麻烦,要安装mysql,ruby,redmine,apach. 显然这不是一个偷懒的人应该做的,最后找到Bi ...
- POJ1625 Censored!(AC自动机+DP)
题目问长度m不包含一些不文明单词的字符串有多少个. 依然是水水的AC自动机+DP..做完后发现居然和POJ2778是一道题,回过头来看都水水的... dp[i][j]表示长度i(在自动机转移i步)且后 ...
- Noi2011 : 智能车比赛
假设S在T左边,那么只能往右或者上下走 f[i]表示S到i点的最短路 f[i]=min(f[j]+dis(i,j)(i能看到j)) 判断i能看到j就维护一个上凸壳和一个下凸壳 时间复杂度$O(n^2) ...
- BZOJ3461 : Jry的时间表
fl[i]表示[1,i]操作一次,且在[j+1,i]处操作的最大值 1:把[j+1,i]改为b[i]: max(sum[j]+b[i]*(i-j)) =b[i]*i+max(-j*b[i]+sum[j ...
- BZOJ3118 : Orz the MST
对于树边显然只需要减少权值,对于非树边显然只需要增加权值 设i不为树边,j为树边 X[i]:i增加量 X[j]:j减少量 C[i]:修改1单位i的代价 对于每条非树边i(u,v),在树上u到v路径上的 ...