redis 应用场景
2024-10-10 16:14:35
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 。
最新文章
- js 求点到直线的距离(由2点确定的直线,求到第三点的距离)
- Android课程---Activity中保存和恢复用户状态
- [poj3017] Cut the Sequence (DP + 单调队列优化 + 平衡树优化)
- Sublime Text 3使用参考手册
- Yii2中自带分页类实现分页
- Python应用02 Python服务器进化
- 谈谈对web标准的理解
- STL之string插入
- 如何给Windows2016新建IIS并建立网站
- C++第四课:类的使用(二)[个人见解]
- 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记(2)- 界面构建(wxFormBuilder3.8.0)
- git for windows 本地仓库
- 使用zlib库进行目录打包
- Java关键字final、static使用总结(转)
- 背水一战 Windows 10 (61) - 控件(媒体类): InkCanvas 涂鸦编辑
- A-Softmax的总结及与L-Softmax的对比——SphereFace
- C++中的typedef typename 作用
- Python多线程应用示例
- Java入门系列(三)面向对象三大特性之封装、继承、多态
- procedure