Redis
I天辉I
专注于Python相关的量化投资
展开
-
redis的持久化(RDB和AOF方式)
redis支持两种持久化的方式,可以单独使用或者结合起来使用第一种:RDB方式(redis默认的持久化方式)第二种:AOF方式一、RDBrdb方式的持久化是通过快照完成的,当符合一定条件时redis会自动将内存中的所有数据执行快照操作并存储到硬盘上。默认存储在redis根目录的dump.rdb文件中。(文件名在配置文件中dbfilename)redis进行快照的时机(在配置转载 2018-01-12 18:10:00 · 263 阅读 · 0 评论 -
python操作redis
Nosql简介 对于NoSQL并没有一个明确的范围和定义,但是他们都普遍存在下面一些共同特征:1. 不需要预定义模式:不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。2. 无共享架构:相对于将所有数据存储的存储区域网络中的全共享架构。NoSQL往往将数据划分后存储在各个本地服务器上。因为从本地磁盘读取数据的性...转载 2018-08-16 18:19:26 · 223 阅读 · 0 评论 -
Redis Zrange 命令
Redis Zrange 返回有序集中,指定区间内的成员。其中成员的位置按分数值递增(从小到大)来排序。具有相同分数值的成员按字典序(lexicographical order )来排列。如果你需要成员按值递减(从大到小)来排列,请使用 ZREVRANGE 命令。下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个...转载 2018-07-25 14:35:35 · 915 阅读 · 0 评论 -
redis的两种存储方式string和byte对比
redis版本:2.9.1redis环境:redis集群(含哨兵模式,部在了两台Linux系统的机器上,每台机器四个节点,2主2备)存储内容:Submit对象(公司代码里面的,对象里只有手机号码和短信内容不同,其他字段值都一样)主要逻辑:存:生成submit对象-->对象转json/byte数组-->向redis存入json字符串/byte数组· 取:根据key值(先设...转载 2018-07-19 16:35:30 · 2883 阅读 · 0 评论 -
Redis Zadd 命令
Redis Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中。如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。分数值可以是整数值或双精度浮点数。如果有序集合 key 不存在,则创建一个空的有序集并执行 ZADD 操作。当 key 存在但不是有序集类型时,返回一个错误。注意: 在 Redis 2.4 版本以前, ZAD...转载 2018-06-28 17:02:06 · 874 阅读 · 0 评论 -
Redis Zinterstore 命令
Redis Zinterstore 命令计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination 。默认情况下,结果集中某个成员的分数值是所有给定集下该成员分数值之和。语法redis Zinterstore 命令基本语法如下:redis 127.0.0.1:6379> ZINTERSTORE destina...转载 2018-06-29 10:42:54 · 449 阅读 · 0 评论 -
Redis Zrem 命令
Redis Zrem 命令用于移除有序集中的一个或多个成员,不存在的成员将被忽略。当 key 存在但不是有序集类型时,返回一个错误。注意: 在 Redis 2.4 版本以前, ZREM 每次只能删除一个元素。语法redis Zrem 命令基本语法如下:redis 127.0.0.1:6379> ZREM key member [member ...]可用版本>= 1.2.0返回值被成功...转载 2018-06-29 10:39:58 · 1740 阅读 · 0 评论 -
Redis Zrange 命令
Redis 有序集合(sorted set)Redis Zrange 返回有序集中,指定区间内的成员。其中成员的位置按分数值递增(从小到大)来排序。具有相同分数值的成员按字典序(lexicographical order )来排列。如果你需要成员按值递减(从大到小)来排列,请使用 ZREVRANGE 命令。下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员...转载 2018-06-22 14:20:54 · 432 阅读 · 0 评论 -
redis开启和禁用登陆密码校验
1. 开启登陆密码校验在redis-cli命令行工具中执行如下命令:config set requirepass yourpassword12. 禁用登陆密码校验同上,需要在redis-cli中执行如下命令:config set requirepass ""...转载 2018-05-09 16:48:59 · 656 阅读 · 0 评论 -
Redis Zadd 命令
Redis Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中。如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。分数值可以是整数值或双精度浮点数。如果有序集合 key 不存在,则创建一个空的有序集并执行 ZADD 操作。当 key 存在但不是有序集类型时,返回一个错误。注意: 在 Redis 2.4 版本以前, ZAD...转载 2018-04-12 14:53:27 · 3697 阅读 · 0 评论 -
Redis Sadd 命令
Redis Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。假如集合 key 不存在,则创建一个只包含添加的元素作成员的集合。当集合 key 不是集合类型时,返回一个错误。注意:在Redis2.4版本以前, SADD 只接受单个成员值。语法redis Sadd 命令基本语法如下:redis 127.0.0.1:6379> SADD KEY_NAME VALU...转载 2018-04-12 14:48:22 · 2349 阅读 · 0 评论 -
Redis Hset 命令
Redis Hset 命令 Redis 哈希(Hash)Redis Hset 命令用于为哈希表中的字段赋值 。如果哈希表不存在,一个新的哈希表被创建并进行 HSET 操作。如果字段已经存在于哈希表中,旧值将被覆盖。语法redis Hset 命令基本语法如下:redis 127.0.0.1:6379> HSET KEY_NAME FIELD VALUE 可用版本>= 2.0.0返回值如果...转载 2018-04-12 14:41:49 · 3171 阅读 · 0 评论 -
Redis Hmset 命令
Redis Hmset 命令用于同时将多个 field-value (字段-值)对设置到哈希表中。此命令会覆盖哈希表中已存在的字段。如果哈希表不存在,会创建一个空哈希表,并执行 HMSET 操作。语法redis Hmset 命令基本语法如下:redis 127.0.0.1:6379> HMSET KEY_NAME FIELD1 VALUE1 ...FIELDN VALUEN 可用版本&g...转载 2018-04-12 14:07:55 · 4728 阅读 · 0 评论 -
Redis 密码设置和查看密码
redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。 1、初始化Redis密码: 在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数; 比如 requirepass test123; (Ps:需重启Redis才能生效) redis的查询速度是非常快的,外部用户一秒内可以尝试多大15...转载 2018-04-08 17:01:30 · 6512 阅读 · 0 评论 -
在项目中redis做缓存的一些思路
首先,缓存的对象有三种:1:数据库中单条的的数据(以表名跟id作为key永久保存到redis),在有更新的地方都要更新缓存(不适用于需要经常更新的数据);2:对于一些不分页,不需要实时(需要多表查询)的列表,我们可以将列表结果缓存到redis中,设定一定缓存时间作为该数据的存活时间。用获取该列表的方法名作为key,列表结果为value;这种情况只试用于不经常更新且不需要实时的情况下。3:不需要实时...转载 2018-02-23 14:47:57 · 664 阅读 · 0 评论 -
redis系列之数据库与缓存数据一致性解决方案
数据库与缓存读写模式策略写完数据库后是否需要马上更新缓存还是直接删除缓存?(1)、如果写数据库的值与更新到缓存值是一样的,不需要经过任何的计算,可以马上更新缓存,但是如果对于那种写数据频繁而读数据少的场景并不合适这种解决方案,因为也许还没有查询就被删除或修改了,这样会浪费时间和资源(2)、如果写数据库的值与更新缓存的值不一致,写入缓存中的数据需要经过几个表的关联计算后得到的结果插入缓存中,那就没有...转载 2018-02-23 14:27:45 · 824 阅读 · 0 评论 -
异步任务神器 Celery 简明笔记
异步任务异步任务是web开发中一个很常见的方法。对于一些耗时耗资源的操作,往往从主应用中隔离,通过异步的方式执行。简而言之,做一个注册的功能,在用户使用邮箱注册成功之后,需要给该邮箱发送一封激活邮件。如果直接放在应用中,则调用发邮件的过程会遇到网络IO的阻塞,比好优雅的方式则是使用异步任务,应用在业务逻辑中触发一个异步任务。实现异步任务的工具有很多,其原理都是使用一个任务队列,比如转载 2018-01-25 14:22:22 · 566 阅读 · 0 评论 -
Redis实现简单消息队列
任务异步化打开浏览器,输入地址,按下回车,打开了页面。于是一个HTTP请求(request)就由客户端发送到服务器,服务器处理请求,返回响应(response)内容。我们每天都在浏览网页,发送大大小小的请求给服务器。有时候,服务器接到了请求,会发现他也需要给另外的服务器发送请求,或者服务器也需要做另外一些事情,于是最初们发送的请求就被阻塞了,也就是要等待服务器完成其他的事情。转载 2018-01-25 13:56:18 · 426 阅读 · 0 评论 -
Redis Smembers 命令
Redis Smembers 命令返回集合中的所有的成员。 不存在的集合 key 被视为空集合。语法redis Smembers 命令基本语法如下:redis 127.0.0.1:6379> SMEMBERS key可用版本>= 1.0.0返回值集合中的所有成员。实例redis 127.0.0.1:6379> SADD myset1 "he...转载 2018-08-17 15:03:55 · 2042 阅读 · 0 评论