hash

MySQL的分区、分表、集群

烂漫一生 提交于 2020-01-16 05:40:52
1.分区 mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的, 一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,myi就会变的很大,查找数据就会变的很慢,这个时候我们可以利用mysql的分区功能, 在物理上将这一张表对应的三个文件,分割成许多个小块,这样呢,我们查找一条数据时,就不用全部查找了,只要知道这条数据在哪一块,然后在那一块找就行了。 如果表的数据太大,可能一个磁盘放不下,这个时候,我们可以把数据分配到不同的磁盘里面去 分区的二种方式 a,横向分区 什么是横向分区呢?就是横着来分区了,举例来说明一下,假如有100W条数据,分成十份,前10W条数据放到第一个分区,第二个10W条数据放到第二个分区,依此类推。也就是把表分成了十分,根用merge来分表,有点像哦。取出一条数据的时候,这条数据包含了表结构中的所有字段,也就是说横向分区,并没有改变表的结构。 b,纵向分区 什么是纵向分区呢?就是竖来分区了,举例来说明,在设计用户表的时候,开始的时候没有考虑好,而把个人的所有信息都放到了一张表里面去,这样这个表里面就会有比较大的字段,如个人简介,而这些简介呢,也许不会有好多人去看,所以等到有人要看的时候

vue路由和window路由问题

元气小坏坏 提交于 2020-01-16 05:22:28
1、vue路由原理:vue路由有两中模式,一种是hash,一种是history,通过mode进行设置,hash会链接上会带#号,history是正常链接   hash: 利用url中的hash值进行页面的切换,实际不会请求后台接口,只改变hash值,通过hashchange监听hash值的变化,进行事件程序处理,包含向window.history内添加纪录,以便实现返回等操作。   history: 利用html5提供的api,pushState和replaceState,这两个api可以改变url地址,但是不会发送请求。还有popstate,实现原理和hash相似,但是当用户主动刷新页面时还是会重新发送请求,所以这个需要后端人员把路由重定向到根页面。  详情参考: https://www.cnblogs.com/tiedaweishao/p/9144531.html  所以在实际vue应用中,本地的路由并不是线上真实的链接地址,$route/$router都是本地vue配置的路由对象,操作的不是线上链接。要操作链接还是需要使用window.location对象内部的属性。 来源: https://www.cnblogs.com/muzs/p/10735924.html

Using PHPass to hash password trouble

∥☆過路亽.° 提交于 2020-01-16 05:07:12
问题 I am using PHPASS to store password encrypted and compare when login. here is the code ob_start(); $userName = $password = ""; $userNameErr = $passwordErr = $loginErr = ""; $hasher = new PasswordHash(8, false); if (isset($_POST['subEmployee'])) { if (empty($_POST['user_name'])) { $userNameErr = "User name is required"; } else { $userName = check_input($_POST['user_name']); if (!preg_match("/^[0-9_a-zA-Z]*$/", $userName)) { $userNameErr = "Only letters, numbers and '_' allowed"; } } if (empty(

字符串hash - POJ 3461 Oulipo

心不动则不痛 提交于 2020-01-16 03:47:34
Oulipo Problem's Link ---------------------------------------------------------------------------- Mean: 给你一个模式串P和一个母串S,让你统计P串在S串中出现的次数. analyse: 一开始想到的就是使用KMP,就用KMP写了,93ms,挺快的. 我又用AC自动机写了一遍,万万没想到竟然超时了. 后来看别人有用字符串hash写的,于是又用字符串hash写了一遍,代码30+行,而且速度也挺快,173ms. 字符串hash确实是一个好东西 在字符串hash中又学到了unsigned long long超范围后会自动对2^64取模,省去了手动取模. Time complexity: O(N+M) view code 1.字符串hash代码 #include<stdio.h> #include<string.h> #define ULL unsigned long long int seed = 100 ; char s1 [ 10005 ], s2 [ 1000005 ]; int main () { int t ; scanf ( "%d" , & t ); while ( t -- ) { scanf ( "%s%s" , s1 , s2 ); int len1 =

MySQL 8.0发布,你熟悉又陌生的Hash Join?

大城市里の小女人 提交于 2020-01-16 00:55:45
昨天下午在查资料的时候,无意间点到了MySQL的官网。发现MySQL发布了一个新版本。 Mysql这个数据库有没有人不熟悉?不用的?没有吧。 2019年末,MySQL发布的8.0.18 GA版本,带来了一些新特性和增强功能。其中最引人注目的莫过于多表连接查询 支持Hash Join 。 还是老样子,建议英文好的同学直接看这里: https://dev.mysql.com/doc/refman/8.0/en/hash-joins.html 关于MySQL Hash Join的特性介绍: 1、对于大数据量的表关联,HJ(Hash Join)速度将明显比NL(Nested Loop)快很多 2、在内存中处理 3、必要情况下,会使用磁盘空间 4、用于内连接,可扩展到外连接、半连接和反连接 5、替换查询计划中的Block Nested Loop 6、可以通过HINT强制SQL走HJ或者NL 有的同学可能已经懵逼了。什么是Hash Join?什么是NL?HINT又是什么鬼? 第一部分先做一个简单的科普 首先,在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式。多表之间的连接有三种方式:Nested Loops,Hash Join 和 Sort Merge Join。 肯定有人说,阿里巴巴规范上都说了,并发情况下不能用多表查询。你有多大并发

Accents not respected in printing out with data::dumper PERL

允我心安 提交于 2020-01-16 00:43:30
问题 I would like to print out the content of an associative array. For this I'm using Data::dumper. So, for exemple, if the associative array is called "%w", I write : print OUT Dumper(\%w); Here's the problem: there are some words like "récente" that are printed out as "r\x{e9}cente". If I write just : print OUT %w; I've no problems, so "récente" it will be printed out as "récente". All text files used for the script are in utf8. Moreover I use the module "utf8" and I specify always the

Redis知识点

我的梦境 提交于 2020-01-16 00:15:23
1.NoSql的概念 1. 什么是NoSql nosql 它是非关系型数据库 nosql 用于解决网站里面大数据和高并发的问题 2. Nosql数据库(特点) key-value(键值对形式)型 nosql数据库 – 典型代表 redis 2.redis的认识 redis开源 高性能nosql数据库,数据可以存储在内存或磁盘上面 Redis 主要key-value结构形式存储,redis底层支持各种类型的数据存储结构 包括 list set map(hash) string等 3.redis的特点 数据存储内存,速度比较快 支持类型比较多 ,string(字符串)、list(链表)、set(集合)、 zset(sorted set --有序集合–api)和hash(哈希类型)。 支持磁盘存储 – 完成持久化操作 (aof rdb) 支持数据的过期 --(设置过期时间 expire) 支持集群操作 支持订阅和发布 3. Redis 和 Memcache区别 不同点:memecache 把数据全部存在内存之中,断电后就没了,数据也不能超过内存大小, redis有部份存在硬盘上,这样能保证数据的持久性,支持数据的持久化 相同点:memcache和redis 都是 key-value 非关系型数据,redis 它是 key-value型的非关系型数据库,作用做缓存 4. Redis的使用

Objectify Ruby Hashes from/to JSON API

本小妞迷上赌 提交于 2020-01-15 11:57:09
问题 I just released a ruby gem to use some JSON over HTTP API: https://github.com/solyaris/blomming_api My naif ruby code just convert complex/nested JSON data structures returned by API endpoints (json_data) to ruby Hashes ( hash_data), in a flat one-to-one transaltion (JSON to ruby hash and viceversa). Tat's fine, but... I would like a programming interface more "high level". Maybe instatiating a class Resource for every endpoint, but I'm confused about a smart implementation. Let me explain

Ways to convert special-purpoes-strings to Integers

大憨熊 提交于 2020-01-15 10:14:42
问题 I need to have a in-memory data-structure of Key-Value pair (400 MB worth of data). I have following constraints on keys: Both key and values are text strings of length 256 and 1024 respectively. Any key generally looks like k1k2k3k4k5, each k(i) being 4-8 byte string in itself. Some k(i) may or may not be there in the keys. Every k(i) has 6-8 possibilities. However k3 and k4 have 256000 possibilities. One might iterate the DS with prefix_key. DS should be optimized for this operation. This

SSBO hash table, missing values

有些话、适合烂在心里 提交于 2020-01-15 09:24:26
问题 I am trying to run a little data compression experiment. I am trying to compress 3D textures into hash tables to avoid storing empty volume information. To this effect I wrote the hashing function and retreiving function (they are in different shaders): struct Voxel { int filled; ivec4 position; vec4 normal; vec4 color; }; layout(std430, binding = 0) buffer voxel_buffer { uint index; Voxel voxels[]; }; // Data storing shader int a_size = 10000000; void insert(vec3 pos, Voxel value) { ivec3