redis manual

1、setbit bitmap 99 1:标识n个事物的状态(0/1)。

2、数据结构优先采用hash:当hash中fields较少时,底层的物理存储使用ziplist压缩方式存储

3、zset:每个元素有一个score值,其大小决定元素顺序。

4、List、Hash、Set和Zset的元素个数不要超过5000个。

5、del删除一个key,通常认为是O(1)操作。删除一个String类型的key为 O(1),而set、list、hash等都是O(N),N是存储的数据个数。

6、MSET 1 str1 2 str2:多命令参数是原子性的,可以实现多个key的原子性操作。

7、使用pipeline:

  a、不是原子性操作,不能保证所有命令执行成功。

  b、pipeline可以把不同的命令操作打包在一起,建议单次pipeline的命令个数在50到300之间

8、scan:增量迭代读取大对象,可以取代一些O(N)操作,避免redis长时间被单个slow query阻塞

  a、scan命令用于迭代当前database中的所有key,可以优化keys *pattern*操作

  b、sscan命令用于迭代set中的key中的元素,可以优化smembers操作。

  c、hscan命令用于迭代hash中的所有fields和对应的value,优化hgetall和hkeys操作。

  d、zscan命令用于迭代sorted set中的元素(member and score)。

时间: 2024-10-19 02:13:51

redis manual的相关文章

redis celery too many connection

用django 框架,异步任务用celery,队列用redis 出现了这个问题,too many connection Couldn't ack '5f41afc62d-a112-bef34d5de1cc', reason:ConnectionError('Too many connections',) Traceback (most recent call last): File "/srv/www/wom/env/lib/python2.6/site-packages/kombu/messa

python爬虫补充章,在总控节点那台机器上安装mongodb和redis数据库 都是非apt方法

因为发现爬虫爬取出来的数据如果按照表结构划分后存储,不仅麻烦而且非常大的冗余 干脆试试用这样的非关系数据库来试试存储效果如何. 这里我不打算用redis 进行比较,因为他是内存数据库,他擅长的领域应该是缓存和少量数据的统计归类 (做这个的还有另外一大家伙memcache),redis 以后相配合 其他应用提高效率的. 这里相比较的主要是mongodb和mysql 的性能差,就特定指的是这样复杂的关系网络的应用环境下!! apt-cache depends #(package 了解使用依赖) ap

[你必须知道的NOSQL系列]专题二:Redis快速入门

一.前言 在前一篇博文介绍了MongoDB基本操作,本来打算这篇博文继续介绍MongoDB的相关内容的,例如索引,主从备份等内容的,但是发现这些内容都可以通过官方文档都可以看到,并且都非常详细,所以这里就不想继续介绍了,需要用到的朋友到官方文档进行查阅:http://docs.mongodb.org/manual/tutorial/remove-indexes/.本专题将介绍另一个NoSQL——Redis的相关内容. 二.Redis介绍 关于Redis大家肯定多多少少都有所了解,Redis一般都

Lua 与 Redis

Lua 与 Redis 标签: Java与NoSQL 从 2.6版本 起, Redis 开始支持 Lua 脚本 让开发者自己扩展 Redis - 案例-实现访问频率限制: 实现访问者 $ip 在一定的时间 $time 内只能访问 $limit 次. 非脚本实现 private boolean accessLimit(String ip, int limit, int time, Jedis jedis) { boolean result = true; String key = "rate.li

[个人翻译]Redis 集群教程(下)

[个人翻译]Redis 集群教程(上) [个人翻译]Redis 集群教程(中) 官方原文地址:https://redis.io/topics/cluster-tutorial 水平有限,如果您在阅读过程中发现有翻译的不合理的地方,请留言,我会尽快修改,谢谢. 一个更有趣的示例程序 我们上边写的那个示例程序不够好玩.他以简单的方式写入到集群而没有检查写入的正确性. 从我们的观点看,集群接收写入命令可能每次操作总是把键foo写入 为42,并且我们一点也没有注意到. 所以在redis-rb-clust

Lepus 天兔 监控-增加redis 内存使用报警

Lepus天兔搭建文档 文档连接:http://www.lepus.cc/manual/index 安装需求 PHP和Python都是跨平台的语言,所以理论上系统应该可以支持在不同的平台上运行.但是由于时间和精力以及资源有限,目前天兔系统只测试完善了Centos/RedHat系统的支持.我们目前提供的技术支持也是只针对于Centos/RedHat系统,其他系统暂不支持技术服务. 需要的核心包如下: 以下软件包只需要部署在监控机即可.被监控机无需部署. 1.MySQL 5.0及以上(必须,用来存储

Docker运行MongoDB及Redis及ssh端口映射远程连接

Docker运行MongoDB及Redis及ssh端口映射远程连接 本节内容简介 在本实验里我们将通过完成 MongoDB 和 Redis 两个容器来学习Dockerfile及Docker的运行机制. 本节中,我们需要依次完成下面几项任务: MongoDB 的安装及配置 Redis 的安装及配置 Dockerfile 的编写 从 Dockerfile 构建镜像 本次实验的需求是完成 Dockerfile,通过 Dockerfile 创建 MongoDB 或 Redis 应用.Dockerhub上

Redis中国用户组|唯品会Redis cluster大规模生产实践

嘉宾:陈群 很高兴有机会在Redis中国用户组给大家分享redis cluster的生产实践.目前在唯品会主要负责redis/hbase的运维和开发支持工作,也参与工具开发工作 Outline 一.生产应用场景 二.存储架构演变 三.应用最佳实践 四.运维经验总结 第1.2节:介绍redis cluster在唯品会的生产应用场景,以及存储架构的演变.第3节:redis cluster的稳定性,应用成熟度,踩到过那些坑,如何解决这些问题?这部分是大家比较关心的内容.第4节:简单介绍大规模运营的一些

redis集群 部署操作流程

/************************操作说明************************************/ 1.本操作过程是在centOS7_64的环境下进行: 2.登录用户为root(管理员账号): 3.本流程中使用的redis.conf是自己已经配好的文件,进行细微修改即可(文件下载见:参考文献及资料下载路径): 4.使用的虚拟机为vmware 12.0.0 build-2985596 /***************************************