tiger

redis基础学习

旧时模样 提交于 2020-04-13 14:56:01
【今日推荐】:为什么一到面试就懵逼!>>> redis基础学习 redis Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件 yum安装redis 1.yum安装 #前提得配置好阿里云yum源,epel源 #查看是否有redis包 yum list redis #安装redis yum install redis -y #安装好,启动redis systemctl start redis 2.检测redis是否工作 redis-cli #redis 客户端工具 #进入交互式环境后,执行ping,返回pong表示安装成功 127.0.0.1:6379> ping PONG 源码安装redis,编译安装 大家用过yum,是相当省事好用吧,为什么还要学习源码安装? 有人说编译安装性能好?错 编译安装的优势是: 编译安装时可以指定扩展的module(模块),php、apache、nginx都是一样有很多第三方扩展模块,如mysql,编译安装时候,如果需要就定制存储引擎(innodb,还是MyIASM) 编译安装可以统一安装路径,linux软件约定安装目录在/opt/下面 软件仓库版本一般比较低,编译源码安装可以根据需求,安装最新的版本 1 .下载redis源码 wget http: //download.redis.io/releases

centos下redis安全相关

六眼飞鱼酱① 提交于 2020-04-13 14:36:26
【今日推荐】:为什么一到面试就懵逼!>>> centos下redis安全相关 博文背景: 由于发现众多同学,在使用云服务器时,安装的redis3.0+版本都 关闭了protected-mode,因而都遭遇了挖矿病毒的攻击,使得服务器99%的占用率! ! 因此我们在使用redis时候,最好更改默认端口,并且使用redis密码登录。 (1)redis没有用户概念,redis只有密码 (2)redis默认在工作在保护模式下。不允许远程任何用户登录的(protected-mode) redis.conf设置 protected-mode yes #打开保护模式 port 6380 #更改默认启动端口 requirepass xxxxxx #设置redis启动密码,xxxx是自定义的密码 启动redis服务端 redis-server /opt/redis-4.0.10/redis.conf & #指定配置文件启动redis,且后台启动 使用密码登录redis,使用6380端口 方法1,使用这个 [root@oldboy_python ~ 09:48:41]#redis-cli -p 6380 127.0.0.1:6380> auth xxxx OK 方法2,此方案不安全,容易暴露密码 [root@oldboy_python ~ 09:49:46]#redis-cli -p 6380 -a

两年后,金融科技初创公司250强可安好?

三世轮回 提交于 2020-04-09 04:26:25
2018年10月,CB Insights公布了第二届年度金融科技250强——全球最有前途的250家金融服务科技公司(2018 Fintech 250)。如今,快两年的时间过去了,这些金融科技初创企业的状况如何? 2018 Fintech 250榜单包括来自31个国家和19个类别(涵盖支付、数字银行、保险等)的公司。这些公司是CB Insights从近4,000名申请人和提名人中选出的,选择基于多个因素包括公司提交的数据、业务模型、技术创新、市场动力、团队实力等。 截止2020年2月,这些公司中有22家已成为独角兽,有17家已经退出,没有一家关门大吉。总体而言,他们在2019年筹集了超过150多亿美元,还建立了新的高知名度合作伙伴关系,拆分出新的合资企业,并改进了产品和战略。 2018 Fintech 250现状亮点 独角兽: 2018年金融科技250的22个成为独角兽,估值为10亿美元以上(命中率8.8%) 退出: 8个已经公开上市,有9个已被收购 死亡: 这些公司中有0家死亡 交易、融资和大型融资: 在2019 年,2018 年 Fintech 250 在 152 项投资中筹集了 153 亿美元,其中包括 52 项大型投资(1 亿美元以上投资) 值得注意的合作伙伴: 金融业者是2018年金融科技250强中最活跃的合作伙伴 显著的商业模式和产品开发策略:

利用 cgroup 的 cpuset 控制器限制进程的 CPU 使用

十年热恋 提交于 2020-04-06 21:29:32
最近在做一些性能测试的事情,首要前提是控制住 CPU 的使用量。最直观的方法无疑是安装 Docker,在每个 配置 了参数的容器里运行基准程序。 对于计算密集型任务,在只限制 CPU 的需求下,直接用 Linux 原生的 cgroup 功能来限制 CPU 使用无疑是最方便的。 本文简要说明如何使用 cgroup 的 cpuset 控制器限制进程只使用某几个 CPU,更准确的说是某个几个逻辑核。 1. 查看 CPU 配置 常用的配置可以用如下 BASH 命令查看。 1 2 3 cat /proc/cpuinfo | grep "physical id" | sort | uniq # 查看物理 CPU 数量 cat /proc/cpuinfo | grep "cores" | uniq # 查看每块 CPU 的核心数 cat /proc/cpuinfo | grep "processor" | wc -l # 查看主机总的逻辑线程数 特别地,启用了超线程的话,每个 CPU 物理核心会模拟出 2 个线程,也叫逻辑核。判断方式如下: 1 是否开启超线程 = 物理 CPU 数量 * 每块 CPU 核心数 / 总逻辑线程数 == 2 2. 什么是 NUMA 这里提到一个概念叫 NUMA ,主机板上如果插有多块 CPU 的话,那么就是 NUMA 架构。每块 CPU 独占一块面积

ORACLE客户端连接到数据库详解

穿精又带淫゛_ 提交于 2020-04-06 15:22:35
原文出处: https://www.cnblogs.com/andy6/p/5877327.html Oracle 客户端连接到Oracle 数据库服务器貌似不同于SQL serve中的网络配置,其实不然,只不过所有的SQL server 运行于Windows平台,故很多配置直接集成到了操作系统之中。所以无需配置客户端即可连接到服务器。Oracle 客户端连接到数据库依赖于Oracle Net。Oracle提供了很多基于客户端或服务器的配置工具,需要搞清的是Oracle Net 中的相关术语。术语明白了,其实配置方法与SQL server 大同小异。 一、什么是Oracle Net Oracle Net 用于客户端和服务器之间创建一个连接会话,并负责维护该会话。 Oracle Net 在客户端作为应用程序的一个后台进程组件,而在服务器端则包含称为侦听器的活动进程, 负责客户端和服务器之间的交互。 Oracle Net 同时也支持异构数据库的连接,如连接到Sybase,Informix,DB2,SQL Server等 通常基于下列配置来实现 网络配置(网络必须是联通的) 节点所在的位置(IP/Hostname) 应用程序 所使用的协议(TCP/IP、/TCP/IP with SSL、SDP、Named Pipes) Oracle Net支持的连接类型 客户端-服务器模式

Mac OSX Lion Sneak Peek

与世无争的帅哥 提交于 2020-04-05 19:25:35
老乔没有停止MacOSX的步伐,决定2011年夏季继续操作系统的升级。加入了ipod touch,iphone亦或ipad等的滑屏等IOs样式,先来看看历来的MacOS的命名好了: Mac OS X 10.0 - Cheetah Mac OS X 10.1 - Puma Mac OS X 10.2 - Jaguar Mac OS X 10.3 - Panther Mac OS X 10.4 - Tiger Mac OS X 10.5 - Leopard Mac OS X 10.6 - Snow Leopard We took our best thinking from Mac OS X and brought it to the iPhone. Then we took our best thinking from the iPhone and brought it to iPad. And now we’re bringing it all back to the Mac with our eighth major release of the world’s most advanced operating system. Mac OS X Lion arrives in summer 2011. Here’s a sneak peek at just a few of its

hash() 在各个场景下的实现

人走茶凉 提交于 2020-02-26 19:13:59
常用的hash算法有哪些? • 加法Hash:把输入元素一个一个的加起来构成最后的结果 • 位运算Hash:这类型Hash函数通过利用各种位运算(常见的是移位和异或)来充分的混合输入元素 • 乘法Hash:这种类型的Hash函数利用了乘法的不相关性(乘法的这种性质,最有名的莫过于平方取头尾的随机数生成算 法,虽然这种算法效果并不好);jdk5.0里面的String类的hashCode()方法也使用乘法Hash;32位FNV算法 • 除法Hash:除法和乘法一样,同样具有表面上看起来的不相关性。不过,因为除法太慢,这种方式几乎找不到真正的应用 • 查表Hash:查表Hash最有名的例子莫过于CRC系列算法。虽然CRC系列算法本身并不是查表,但是,查表是它的一种最快 的实现方式。查表Hash中有名的例子有:Universal Hashing和Zobrist Hashing。他们的表格都是随机生成的。 • 混合Hash:混合Hash算法利用了以上各种方式。各种常见的Hash算法,比如MD5、Tiger都属于这个范围。它们一般很少 在面向查找的Hash函数里面使用 Object类的hashCode. 返回对象的经过处理后的内存地址,由于每个对象的内存地址都不一样,所以哈希码也不一样。这个是native方法,取决于JVM的内部设计,一般是某种C地址的偏移。 String类的hashCode

Scala中List集合与Map集合的相互转换

风格不统一 提交于 2020-02-08 04:45:15
List集合转换成Map集合 object Demo { def main ( args : Array [ String ] ) : Unit = { // 创建一个List集合对象 val list : List [ String ] = List ( "dog" , "tiger" , "lion" , "cat" , "panther" , "eagle" ) // 映射(转换) // 可以看到List集合里是一个个元组 val tuples : List [ ( String , Int ) ] = list . map ( x = > { ( x , x . length ) } ) println ( tuples ) // 将List转换成Map val map : Map [ String , Int ] = tuples . toMap println ( map ) } } 结果为 : List ( ( dog , 3 ) , ( tiger , 5 ) , ( lion , 4 ) , ( cat , 3 ) , ( panther , 7 ) , ( eagle , 5 ) ) Map ( lion - > 4 , tiger - > 5 , dog - > 3 , eagle - > 5 , panther - > 7 , cat - > 3 ) 注意:

Writing unit tests in my compiler (which generates IL)

China☆狼群 提交于 2019-12-10 02:38:51
问题 I'm writing a Tiger compiler in C# and I'm going to translate the Tiger code into IL . While implementing the semantic check of every node in my AST, I created lots of unit tests for this. That is pretty simple, because my CheckSemantic method looks like this: public override void CheckSemantics(Scope scope, IList<Error> errors) { ... } so, if I want to write some unit test for the semantic check of some node, all I have to do is build an AST, and call that method. Then I can do something

Writing unit tests in my compiler (which generates IL)

Deadly 提交于 2019-12-05 02:51:36
I'm writing a Tiger compiler in C# and I'm going to translate the Tiger code into IL . While implementing the semantic check of every node in my AST, I created lots of unit tests for this. That is pretty simple, because my CheckSemantic method looks like this: public override void CheckSemantics(Scope scope, IList<Error> errors) { ... } so, if I want to write some unit test for the semantic check of some node, all I have to do is build an AST, and call that method. Then I can do something like: Assert.That(errors.Count == 0); or Assert.That(errors.Count == 1); Assert.That(errors[0] is