plv8 + hashids 生成短连接id】的更多相关文章

此文章是转载文章的一个学习,稍有改动 环境准备 plv8 环境 version: '3.6' services:  postgres:    image: dalongrong/plv8:2.3.12    ports:    - "5432:5432"    environment:    - "POSTGRES_PASSWORD=dalong"  graphql-engine:    image: hasura/graphql-engine:v1.0.0-bet…
有写过一个集成npm plv8 以及shortid生成短链接id服务,实际上我们可以集成触发器自动生成url对应的短链接地址,hashids也是一个不错的选择. 以下是一个别人写的一个博客实现可以参考 https://blog.abevoelker.com/2017-01-03/generating-youtube-like-ids-in-postgres-using-plv8-and-hashids/…
公司最近需要进行短信推广,需要发送大批量带有连接地址的短信给用户,并且需要统计短信的点击量.因为需要考虑短信成本问题,需要将长连接地址生成比较短的连接.因为公司本身没有短的一级域名,所以考虑到使用第三方的短连接生成器.经过对比选择了新浪短连接生成器. 新浪接口文档地址: http://open.weibo.com/wiki/Short_url/shorten 新浪提供了xml和json两种格式进行生成短连接,这里使用的是json. 下面是请求的代码 public class ShortUrlHe…
PHP生成短连接的方法.md PHP生成短连接的方法 直接贴上方法,函数可以查看手册. <?php /** 生成短网址 * @param String $url 原网址 * @return String */ function dwz($url){ $code=floatval(sprintf('%u', crc32($url))); $surl=''; while($code){ $mod=fmod($code, 62); if($mod>9 && $mod<35){…
cuid 是一个不错的id 生成算发,类似的有shortid .hashid 演示使用lua 包集成openresty 做测试 使用docker-compose 运行 dockerfile FROM openresty/openresty:alpine-fat RUN apk add --no-cache curl perl RUN /usr/local/openresty/luajit/bin/luarocks install cuid EXPOSE 80 COPY nginx.conf us…
plv8 是一个很强大的pg 扩展插件,我们可以直接额使用js 增强sql ,shortid 是一个用来生成短连接id 很方便的类库 因为shortid 是一个npm 模块,我们需要使用一种方法使用require 的方式引用包,这个我们可以通过 plv8 node 模块解决 以下是一个简单的demo 使用plv8 node 模块注册shortid 原理 使用plv8 node 模块主要是方便快速的生成plv8 pg 插件可使用的npm 包(包含依赖的处理,基于browserify的处理) 原理实…
1. 原理     a. 从redis 获取需要表示的短链接的id( redis incr)     b. hashids 编码 id     c. openresty  conteent_by_lua_block 阶段显示数据   2. 安装以来的插件      a. lua hashdis  使用  luarocks 注意需要先安装lua 开发包    b. copy hashids lua 包 到 openresty 的lualib  方便调用    c. redis 安装   luaro…
短链接,通俗来说,就是将长的URL 网址,通过程序计算等方式,转换为简短的网址字符串. 这样的话其好处为:1.内容需要:2.用户友好:3.便于管理. 实现短网址(short URL)系统比较流行的算法有两种 自增序列算法. 摘要算法 自增序列算法: 自增序列算法 也叫永不重复算法 设置 id 自增,一个 10进制 id 对应一个 62进制的数值,1对1,也就不会出现重复的情况.这个利用的就是低进制转化为高进制时,字符数会减少的特性. 摘要算法: 1.将长网址 md5 生成 32 位签名串,分为…
public static DefaultHttpClient httpclient; static { httpclient = new DefaultHttpClient(); //httpclient = (DefaultHttpClient) HttpClientConnectionManager.getSSLInstance(httpclient); // 接受任何证书的浏览器客户端 } /** * 生成短连接信息 * * @author: zhaojinhui * @date: 20…
<?php #短连接生成算法 class Short_Url { #字符表 public static $charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; public static function short($url) { $key = "alexis"; $urlhash = md5($key . $url); $len = strlen($urlha…