数据库
文章平均质量分 64
FairyKunKun
99年爱看书常锻炼的程序员
展开
-
Geospatial
1. 简介 Redis 3.2 中增加了对 GEO 类型的支持。 GEO , Geographic ,地理信息的缩写。该类型,就是元素的2维坐标,在地图上就是经纬度。 Redis 基于该类型,提供了经纬度设置,查询,范围查询,距离查询,经纬度 Hash 等常见操作。2. 命令 geoadd(1)格式 geoadd [longitude latitude member ...]添加地理位置(精度,维度,名称)(2原创 2022-12-03 10:56:14 · 77 阅读 · 0 评论 -
HyperLogLog
1. 简介 在工作当中,我们经常会遇到与统计相关的功能需求,比如统计网站 PV ( PageView 页面访问量),可以使用 Redis 的 incr 、 incrby 轻松实现。 但像 UV ( UniqueVistor ,独立访客)、独立 IP 数、搜索记录数的等需要去重和计数的问题如何解决?这种集合中不重复元素个数的问题称为基数问题。 解决基数问题有很多种方案: (1)数据存储在 MySql 表中,使用 distinct count 计算不重复个原创 2022-12-03 09:32:02 · 71 阅读 · 0 评论 -
Bitmaps
现在计算机用二进制(位)作为信息的基础单位,1个字节等于8位,例如 "abc" 字符串是由3个字节组成,单实际在计算机存储时将其用二进制表示, "abc" 分别对应的 ASCII 码分别是97、98、99,对应的二进制分别是01100001、01100010和01100011,如下。但 Bitmaps 并不是万金油,假如该网站每天的嘟噜访问用户很少,例如只有10万(大量的僵尸用户),那么两者的对比如下表所示,很显然,这时候使用 Bitmaps 就不太合适了,因为基本上大部分位都是0。原创 2022-12-02 11:32:56 · 560 阅读 · 0 评论 -
Redis 的发布和订阅
>>> hello >>>> 客户端 A。>>>> hello >>>> 客户端 C。PUBLISH channel1 hello >>>> channel 1 hello >>>> hello >>>> 客户端 B。Redis 发布订阅( pub/sub )是一种消息通信模式:发送者( pub )发送消息,订阅者( sub )接受消息。原创 2022-11-30 22:50:46 · 399 阅读 · 0 评论 -
Redis 配置文件介绍
【代码】 Redis 配置文件介绍。原创 2022-11-29 23:24:56 · 67 阅读 · 0 评论 -
Redis 有序集合 zset ( sorted set )
数组不便元素的插入、删除;第0层 1 >>>> 11 >>>> 21 >>>> 31 >>>> 41 >>>> 51 >>>> 61 >>>> NULL。第1层 1 >>>>>>>>>> 21 >>>>>>>>>> 41 >>>>>>>>>> 61 >>>> NULL。因为元素是有序的,所以你也可以很快的根据评分( score )或者次序( position )来获取一个范围的元素。第2层 1 >>>>>>>>>>>>>>>>>>>>>>> 41。原创 2022-11-29 21:11:13 · 829 阅读 · 0 评论 -
Redis 哈希( Hash )
用户 ID >>>>>> 年龄标签 年龄数据。>>>> 姓名数据。用户 ID + 姓名标签 >>>> 姓名数据。用户 ID + 年龄标签 >>>> 年龄数据。用户 ID + 生日标签 >>>> 生日数据。用户 ID >>>>>> 年龄数据。原创 2022-11-29 14:35:57 · 1664 阅读 · 0 评论 -
Redis 哈希( Hash )
Linux Container 容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可抑制的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。Docker是dotCloud公司开源的一个基于LXC的高级容器引擎,源码托管在Github上,基于go语言并且遵从Apache2.0协议开源。几乎没有性能开销,可以很容易的在机器和数据中心运行。原创 2022-11-29 13:40:22 · 56 阅读 · 0 评论 -
Docker 是什么
Linux Container 容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可抑制的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。Docker 是 dotCloud 公司开源的一个基于LXC的高级容器引擎,源码托管在 Github 上,基于 go 语言并且遵从 Apache2.0 协议开源。,相互之间不会存在任何接口。原创 2022-11-29 13:38:37 · 75 阅读 · 0 评论 -
Redis 集合( Set )
的,当你需要存储一个列表数据,又不希望重复数据时, set 是一个很好的选择,并且 set 提供了判断某个成员是否在 set 集合内的重要接口,这个也是 list 所不能提供的。Java 中 HashSet 的内部实现使用的是 HashMap ,只不过所有的 value 都指向同一个对象。Redis 的 set 结构也是一样,它的内部也使用 hash 结构,所有的 value 都指向同一个内部值。一个算法,随着数据的增加,执行时间的长短,如果是 O (1),数据增加,查找数据的时间不变。原创 2022-11-29 13:33:28 · 187 阅读 · 0 评论 -
Redis 列表( List )
因为普通的链表需要的附加指针空间太大,会比较浪费空间。比如这个列表里存的只是 int 类型的数据,结构上还需要额外的指针 prev 和 next。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。首先在列表元素较少的情况下会使用一块连续的内存存储,这个结构是 ziplist ,也即是压缩列表。它的底层实际是创想列表,对两端的操作性能很高,通过索引下标的操作中间的节点性能会比较差。从 k1 列表的右边吐出一个值,插到 k2 列表的右边。它将所有的元素紧挨着一起存储,分配的是一块连续的内存。原创 2022-11-29 12:50:44 · 470 阅读 · 0 评论 -
ORA-01810:格式代码出现两次
1:ORA-01810: 格式代码出现两次,这个错误提示明显的指出是格式化字符串重复了两次,在Oracle中不应该将某个格式重复两次,否则Oracle就不知道要从哪个占位区间去解析该字段,即使写成AND V.UPLOAD_DATE原创 2022-11-17 10:46:01 · 9439 阅读 · 0 评论 -
Redis 的相关基础知识
图中的人名为 Alessia Merz ,其中的 Merz 对应的九键输入法按出来的就是6379。Redis 中默认使用的是16个数据库,类似数组下标从0开始,初始默认使用0号数据库。仅将 keys 从 keyspace 元素中删除,真正的删除会在后续的一步才做。keys * 查看当前库所有的 key (匹配: keys * 1)dbsize 查看当前数据库的 key 的数量。type key 查看你的 key 是什么类型。del key 删除指定的 key 数据。【二】 Redis 默认的数据库。原创 2022-11-27 21:47:09 · 334 阅读 · 0 评论 -
NoSql 数据库简介
1. 解决功能性的问题: Java 、 Jsp 、 RDBMS 、 Tomcat 、 HTML 、 Linux 、 JDBC 、 SVN。3. 解决性能的问题: NoSql 、 Java线程 、 Hadoop 、 Nginx 、 MQ 、 ElasticSearch。打破了传统的关系型数据库以业务逻辑为依据的存储模式,而针对不同数据结构类型,改为以性能为有限的存储方式。然而,当服务器变多了以后,我们的 session 却还是唯一的。就相当于原本的数据是一行一行记的,现在是一列一列记的。原创 2022-11-27 18:43:12 · 497 阅读 · 0 评论 -
Redis 字符串( String )
是可以修改的字符串,内部结构实现上类似于 Java 的 ArrayList ,采用预分配冗余空间的方式来减少内存的频繁分配。当字符串的长度小于1 M 时,扩容都是加倍现有的空间,如果超过1 M ,扩容时一次只会多扩容1 M 的空间。第一个线程跑了99次,然后突然被第二个打断了,第二个取值为1,然后,第一个取值为1,第二个跑完,第一个执行最后一步,2。在 k1 的后面接上 abc ,返回 k1 的长度变成了8,取得 k1 的值,确实得到了印证。decr k 使存储的数字值减1,如果为空,为-1。原创 2022-11-28 21:52:46 · 462 阅读 · 0 评论