- redis原理
小哲会嘿魔法
redis数据库缓存
文章目录redis客户端-认识RESP持久化持久化具体实现1.RDB(RedisDataBase)2.AOF(AppendOnlyFile)事务相关命令主从复制拓扑结构同步过程部分复制实时复制哨兵(Sentinel)哨兵选取主节点流程集群数据分片主节点宕机集群扩容缓存缓存更新缓存预热、缓存穿透、缓存雪崩、缓存击穿分布式锁过期时间校验IdLua脚本watchdog(看门狗)Redlock算法redi
- 并发控制-文件锁
gophp高并发
在以往的项目中,遇到高并发大流量需求做并发控制的时候一般都使用redis分布式锁或者mysql加锁处理高并发情况。最近遇到一个php项目,没有安装redis,由于某种原因也不考虑使用mysql加锁控制并发,所以采用文件锁的方式控制并发,整理了下代码php版本classFileLock{/**@varstring锁名称唯一性*/privatestring$key;/**@varstring锁文件*/
- 【C++基础】多线程并发场景下的同步方法
kucupung
C++c++开发语言
如果在多线程程序中对全局变量的访问没有进行适当的同步控制(例如使用互斥锁、原子变量等),会导致多个线程同时访问和修改全局变量时发生竞态条件(racecondition)。这种竞态条件可能会导致一系列不确定和严重的后果。在C++中,可以通过使用互斥锁(mutex)、原子操作、读写锁来实现对全局变量的互斥访问。一、缺乏同步控制造成的后果1.数据竞争(DataRace)数据竞争发生在多个线程同时访问同一
- redis+spring面试题
javaspringredis
redis使用场景缓存热点数据分布式锁存储token存储短信验证码计数器全局唯一数排行榜限流购物车关注粉丝缓存失效缓存穿透缓存空结果布龙过滤器缓存击穿全局锁设置永不过期缓存雪崩设置高可用集群设置不同的过期时间本地二级缓存,限流加降级数据一致性延时双删集群最大部署多少个主节点16384string的存储内存多大512mlist/set/hash/zset最多可以放多少个体元素2^32-1/42亿re
- Spring Boot 集成 Redis 全解析
翻晒时光
springbootspringbootredis
在当今快速发展的互联网应用开发中,性能和效率是至关重要的因素。Redis作为一款高性能的内存数据库,常被用于缓存、消息队列、分布式锁等场景,能够显著提升应用程序的响应速度和吞吐量。SpringBoot以其强大的自动配置和快速开发特性,成为众多Java开发者的首选框架。将SpringBoot与Redis集成,可以充分发挥两者的优势,构建出高效、稳定的应用系统。本文将详细介绍SpringBoot集成R
- TiDB 6.0 新特性
m0_75231205
tidb
PlacementRulesinSQL:提供SQL接口,利用SQL接口,去精细化数据库表,表中的分区所在的位置,指定表放置在哪个区上,哪个节点上小表缓存:解决分布式数据库的热点问题,当表比较小不容易被打散,而访问又比较频繁,修改又比较少,用小表缓存这个功能,就能够提升小表的吞吐量内存悲观锁:在事务的性能上有很大提升TopSQL:提供了非常便利的手段,能够找到某个TiKV,某个TiDB,某个时段的T
- 15 分布式锁和分布式session
40岁的系统架构师
分布式系统架构
在java中一个进程里面使用synchronized在new出来对象头信息中加锁,如果是静态方法中在加载的类信息中加锁(我们在锁的原理中讲过)。如果使用lock加锁可以自己指定。这些都是在同一个进程空间中的操作。如果在分布式环境中由于程序不在一个进程空间,就没办法使用这些原子性的元素中加锁,我们需要在不同的进程空间中找原子性的元素。这就是分布式锁基于数据库的分布式锁该方式通过数据库的唯一索引来实现
- EF Core 乐观、悲观并发控制
AAA猪饲料批发李师傅
.NET.netcore
目录并发控制的概念悲观并发控制实现问题乐观并发控制实现RowVersion实体类及配置概念总结并发控制的概念并发控制:避免多个用户同时操作资源造成的并发冲突问题。举例:统计点击量。最好的解决方案:非数据库解决方案。数据库层面的两种策略:悲观、乐观。悲观并发控制悲观并发控制一般采用行锁、表锁等排他锁对资源进行锁定,确保同时只有一个使用者操作被锁定的资源。EFCore没有封装悲观并发控制的使用,需要开
- python multiprocessing模块_Python multiprocessing模块
weixin_39646084
python
一、简介python多线程有个讨厌的限制,全局解释器锁(globalinterpreterlock),这个锁的意思是任一时间只能有一个线程使用解释器,跟单cpu跑多个程序一个意思,大家都是轮着用的,这叫“并发”,不是“并行”。手册上的解释是为了保证对象模型的正确性!这个锁造成的困扰是如果有一个计算密集型的线程占着cpu,其他的线程都得等着....,试想你的多个线程中有这么一个线程,得多悲剧,多线程
- Redisson 实现分布式锁
程序员jin
编程开发数据库分布式数据库redis
文章目录一.锁介绍二.什么是分布式锁三.为什么需要分布式锁四.分布式锁实现五.分布式锁注意事项六.看门狗机制七.Redisson实现分布式锁一.锁介绍单机锁:用于一台服务器的同步执行。分布式锁:用于多台服务器之间的同步执行。有限资源的情况下,控制同一时间(段)只有某些线程(用户/服务器)能访问到资源。Java实现锁:synchronized关键字、并发包的类。Javasynchronized实现锁
- Fastboot 刷机
flying robot
#win笔记
安卓设备的开机流程涉及多个阶段和关键节点,从按下电源键到系统加载完成。每个阶段都有特定的功能和作用。我们来逐步分析整个开机过程以及相关节点的作用,包括BL锁、Fastboot、Recovery、Bootloader、Linux内核、Init进程等。安卓开机流程详解按下电源键后,设备会经历一系列的步骤来启动安卓系统。这些步骤是:1.长按Power键开机作用:当按下电源键,设备的电源管理芯片开始供电,
- 单片机基础模块——数码管模块
Moonnnn.
单片机单片机嵌入式硬件51单片机蓝桥杯
1.原理共阳极数码管:0-亮1-灭共阴极数码管:0-灭1-亮编码推导该单片机中所用的是共阳极数码管,即0亮1灭按照dp->g->f->…->a的顺序写出数码管常见字段码2.Seg.c代码从原理图可以看到,我们需要对数码管进行位选(选择哪一个数码管进行显示)和段选(选择数码管显示的数据)。(图中为两个74HC573锁存器,在LED模块内有写)其中abcdefg和dp为段选,com1-8为位选。基本思
- 存储 单元
姓学名生
其他
存储单元:只能存储一位数据的电路。寄存器:存储一组数据的存储电路。静态存储单元:只要不切断供电电源,静态存储单元的状态会一直保持下去。(锁存器,触发器)。动态存储单元:利用电容的电荷存储效应来存储数据,由于电容的充放电需要一定时间,因而它的工作速度低于静态存储单元。而且,电容上存储的电荷会随着时间推移而逐渐泄露,必须定期进行“刷新”。寄存器:由一组触发器组成,由n个触发器组成的寄存器可以存储一组n
- Python全局解释器锁GIL与多线程
程序媛一枚~
PythonOpenCV图像处理Python进阶PythonOpenCVpython多线程全局解释器锁GIL
Python中如果是I/O密集型的操作,用多线程(协程Asyncio、线程Threading),如果I/O操作很慢,需要很多任务/线程协同操作,用Asyncio,如果需要有限数量的任务/线程,那么使用多线程。如果是CPU密集型操作,用多进程(multeprocessing)。一、GILGIL(GlobalInterpreterLock,即全局解释器锁),Python实质上并不存在真正的多线程,只有
- linux flock简介与简单应用
tadus_zeng
c++多进程linuxc++
flock即文件锁,是建议性锁,需要各进程主动去获取与释放。flock适合进程间通信,不适合用作线程间互斥。主要应用在解决文件读写冲突上。linux命令$flock-hUsage:flock[options][commandargs]flock[options]-cflock[options]Options:-s--sharedgetasharedlock-x--exclusivegetanexc
- 安装线程自由(无GIL锁)Python及Pytorch方法
为什么每天的风都这么大
pythonpytorch开发语言
参考资料:https://py-free-threading.github.io/installing_cpython/https://github.com/pytorch/pytorch/issues/130249https://download.pytorch.org/whl/torch/截至当前(2025.1.22),最新的线程自由Python版本为13.1,因此下面的方法适用于该版本安装P
- Redis从0到1详解(SpringBoot)
小白的一叶扁舟
面试题redisspringboot数据库springcloudjava后端中间件
前言在现代应用中,Redis扮演着重要的角色,作为高性能的缓存和消息队列,它能够大大提高系统的响应速度和吞吐量。在SpringBoot项目中使用Redis,不仅能通过简单的配置连接Redis服务,还能利用Redis提供的各种高效算法,如LRU(最近最少使用)和LFU(最不常用)来实现智能的数据管理。此外,分布式锁也可以通过Redis提供的功能来实现,保证多线程或多服务之间的数据一致性。本文将介绍如
- 分布式系统架构:分布式缓存
工业甲酰苯胺
架构分布式缓存
分布式缓存也是面试常见的问题,通常面试官会问为什么要用缓存,以及用的Redis是哪种模式,用的过程中遇到哪些问题这些1.AP还是CPRedis集群就是典型的AP式,它具有高性能、高可用等特点,但它却并不保证强一致性。而能够保证强一致性的ZooKeeper、Doozerd、Etcd等框架,吞吐量比不过Redis,通常不会用作“缓存框架”,而是作为通知、协调、队列、分布式锁等使用2.透明多级缓存TMC
- 电脑无法正常开机时如何解除BitLocker硬盘锁
ZMSunrise
Windows系统DellBitLockerdell系统安装bitlockerdos
关于戴尔DELLlatitude5401系统崩溃后重装系统时由BitLocker引发的一系列复杂问题(不想看过程可以直接拉到最后看解决方法)说来话长,我尽量长话短说……其实都是一个声卡驱动引发的血案……最开始是因为耳机插上以后没有效果,找原因的时候发现没有RealtekHDAudioService,其实就是声卡驱动出了问题,无法识别耳机。接下来只能重装声卡驱动了。所以下载了驱动精灵进行更新,发现没
- 锁争用详解
缘来是黎
linuxservicejavajvm开发语言
锁争用(LockContention)是并发编程中常见的问题,特别是在多线程或多进程环境下。当多个线程或进程竞争同一把锁时,会导致系统负载升高,性能下降。以下是锁争用导致系统负载高的详细原理:1.锁的基本概念锁:用于控制对共享资源的访问,确保同一时间只有一个线程或进程可以访问资源。锁争用:当多个线程或进程同时尝试获取同一把锁时,只有一个线程或进程能够成功获取锁,其他线程或进程会被阻塞,直到锁被释放
- 33.Java读写锁(认识读写锁、读写锁案例、锁降级、锁的演变)
我命由我12345
Java-基础入门java开发语言java-eeintellij-ideaintellijideaspringboot后端
一、锁概述1、悲观锁每个人进行操作时都进行上锁解锁,能解决并发问题,但不支持并发操作,只能逐个进行操作,效率低2、乐观锁通过版本号进行控制,谁先提交就先修改版本号,其他人因为版本号不相同就不能进行提交3、表锁对整个表加锁,不会发生死锁4、行锁对表中的单独一行加锁,会发生死锁5、读锁共享锁,可以有多个人读,会发生死锁6、写锁独占锁,只能有一个人写,会发生死锁二、读写锁1、基本介绍对共享资源有读和写的
- 如何绕过 NaughtCoin 合约的时间锁(TimeLock)限制:基于 ERC20 的攻击合约分析
纸鸢666
合约破解案例区块链solidity智能合约
简介在这个博客中,我们将探讨如何绕过一个ERC20合约中的时间锁机制(TimeLock),以便在锁定期内转移代币。我们以NaughtCoin合约为例,展示了如何编写攻击合约,并详细分析了如何解决出现的授权错误问题。我们会分步骤地解释这一过程,确保您能够理解如何利用ERC20标准进行安全性分析和合约攻击。背景:NaughtCoin合约假设我们有一个ERC20代币NaughtCoin,并且其中实现了一
- C++ 条件变量-生产消费者模型
__雨夜星辰__
c++开发语言学习笔记多线程
条件变量是一种线程同步机制,当条件不满足时,相关线程被一直阻塞,直到某种条件出现,这些线程才会被唤醒.C++11的条件变量提供了两个类:condition_variable:只支持与普通mutex搭配,效率更高。condition_variable_any:是一种通用的条件变量,可以与任意mutex搭配(包括用户自定义的锁类型)包含头文件:1.condition_variable类主要成员函数:1
- [并发并行]_[中级]_[C++实现synchronized方式的对象锁2.0]
Peter(阿斯拉达)
C++语言特性和标准库C/C++多线程并发并行c++同步synchronized对象锁Javamutexthread
场景在前面的文章说过C++实现synchronized方式的对象锁[1]可以实现Java的synchronized易用特性。这个第一版的例子并没有说明如何删除pthread_mutex_t对象,随着加锁的对象增加会出现内存泄漏的情况,怎么解决?说明在C++11提供了可复制的共享的指针std::shared_ptr,利用这个指针我们可以判断mutex有没有被其他线程使用,从而释放mutex。改进版的
- 操作系统3
四代目 水门
C++面试常见问题面试
你知道的线程同步的方式有哪些?线程同步机制是指在多线程编程中,为了保证线程之间的互不干扰,而采用的一种机制。常见的线程同步机制有以下几种:互斥锁:互斥锁是最常见的线程同步机制。它允许只有一个线程同时访问被保护的临界区(共享资源)条件变量:条件变量用于线程间通信,允许一个线程等待某个条件满足,而其他线程可以发出信号通知等待线程。通常与互斥锁一起使用。读写锁:读写锁允许多个线程同时读取共享资源,但只允
- 【YashanDB知识库】锁冲突检查
数据库
本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7253740.html?templateId=171...应用并发操作时,可能发生锁冲突。常见的有行锁冲突、表锁冲突,比如更新同一条记录会出现行锁等待。可以使用下面语句检查当前数据库是否正在发生锁冲突,如果有的话,可以列出哪些应用在申请锁、申请什么样的锁,以及申请的锁被哪些应用持有。
- 服务器面试必备-redis面试题总结
前网易架构师-高司机
2025年最新-服务器面试经验2025年最新-数据库redis面试题
在服务器开发中,Redis的面试题所占的比重通常比较大,这是因为Redis在服务器开发中扮演着重要的角色。首先,Redis是一款开源的内存数据存储系统,它支持多种数据结构,并提供了丰富的操作指令,被广泛应用于各种场景,如缓存、消息队列、计数器、分布式锁等。因此,对于服务器开发人员来说,熟悉Redis的使用和原理是非常重要的。其次,Redis的高性能和高可扩展性使其成为处理高并发的关键技术之一。在服
- C++ 线程安全之互斥锁
__雨夜星辰__
c++开发语言学习笔记visualstudio多线程
目录线程安全1.原子性2.可见性3.顺序性互斥锁1.mutex类2.timed_mutex类3.recursive_mutex类4.lock_guard类线程安全线程安全是多线程编程是的计算机程序代码中的一个概念。在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且准确的执行,不会出现数据污染等意外情况。上述是百度百科给出的一个概念解释。换言之,线程安全就
- 详解MySQL中 MVCC
sevevty-seven
mysql数据库
目录第1章:MVCC简介1.1什么是多版本并发控制(MVCC)?1.2MVCC在数据库管理系统中的作用1.3MVCC与传统锁机制的区别1.4为什么需要MVCC?第2章:MVCC的工作原理2.1数据库事务2.2版本控制:如何通过版本号、时间戳来区分不同版本的数据2.3事务的开始与结束(commit和rollback)2.4并发读取与写入的管理方式2.5UndoLog和MVCC的实现2.6MVCC和锁
- 湖北移动魔百盒ZN90_Hi3798MV300/MV310-当贝桌面精简卡刷固件包
fatiaozhang9527
机顶盒刷机固件魔百盒刷机魔百盒固件移动魔百盒机顶盒ROM盒子ROM
湖北移动魔百盒ZN90_Hi3798MV300/MV310-当贝桌面精简卡刷固件包特点:1、适用于对应型号的电视盒子刷机;2、开放原厂固件屏蔽的市场安装和u盘安装apk;3、修改dns,三网通用;4、大量精简内置的没用的软件,运行速度提升,多出大量的存储空间;5、去除应用安装限制;6、支持开机自启动、开机密码锁、儿童应用锁、应用隐藏、开机自动进入HDMI等各种花式功能;魔百和ZN90代工机顶盒刷机
- Java开发中,spring mvc 的线程怎么调用?
小麦麦子
springmvc
今天逛知乎,看到最近很多人都在问spring mvc 的线程http://www.maiziedu.com/course/java/ 的启动问题,觉得挺有意思的,那哥们儿问的也听仔细,下面的回答也很详尽,分享出来,希望遇对遇到类似问题的Java开发程序猿有所帮助。
问题:
在用spring mvc架构的网站上,设一线程在虚拟机启动时运行,线程里有一全局
- maven依赖范围
bitcarter
maven
1.test 测试的时候才会依赖,编译和打包不依赖,如junit不被打包
2.compile 只有编译和打包时才会依赖
3.provided 编译和测试的时候依赖,打包不依赖,如:tomcat的一些公用jar包
4.runtime 运行时依赖,编译不依赖
5.默认compile
依赖范围compile是支持传递的,test不支持传递
1.传递的意思是项目A,引用
- Jaxb org.xml.sax.saxparseexception : premature end of file
darrenzhu
xmlprematureJAXB
如果在使用JAXB把xml文件unmarshal成vo(XSD自动生成的vo)时碰到如下错误:
org.xml.sax.saxparseexception : premature end of file
很有可能时你直接读取文件为inputstream,然后将inputstream作为构建unmarshal需要的source参数。InputSource inputSource = new In
- CSS Specificity
周凡杨
html权重Specificitycss
有时候对于页面元素设置了样式,可为什么页面的显示没有匹配上呢? because specificity
CSS 的选择符是有权重的,当不同的选择符的样式设置有冲突时,浏览器会采用权重高的选择符设置的样式。
规则:
HTML标签的权重是1
Class 的权重是10
Id 的权重是100
- java与servlet
g21121
servlet
servlet 搞java web开发的人一定不会陌生,而且大家还会时常用到它。
下面是java官方网站上对servlet的介绍: java官网对于servlet的解释 写道
Java Servlet Technology Overview Servlets are the Java platform technology of choice for extending and enha
- eclipse中安装maven插件
510888780
eclipsemaven
1.首先去官网下载 Maven:
http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.2.3-bin.tar.gz
下载完成之后将其解压,
我将解压后的文件夹:apache-maven-3.2.3,
并将它放在 D:\tools目录下,
即 maven 最终的路径是:D:\tools\apache-mave
- jpa@OneToOne关联关系
布衣凌宇
jpa
Nruser里的pruserid关联到Pruser的主键id,实现对一个表的增删改,另一个表的数据随之增删改。
Nruser实体类
//*****************************************************************
@Entity
@Table(name="nruser")
@DynamicInsert @Dynam
- 我的spring学习笔记11-Spring中关于声明式事务的配置
aijuans
spring事务配置
这两天学到事务管理这一块,结合到之前的terasoluna框架,觉得书本上讲的还是简单阿。我就把我从书本上学到的再结合实际的项目以及网上看到的一些内容,对声明式事务管理做个整理吧。我看得Spring in Action第二版中只提到了用TransactionProxyFactoryBean和<tx:advice/>,定义注释驱动这三种,我承认后两种的内容很好,很强大。但是实际的项目当中
- java 动态代理简单实现
antlove
javahandlerproxydynamicservice
dynamicproxy.service.HelloService
package dynamicproxy.service;
public interface HelloService {
public void sayHello();
}
dynamicproxy.service.impl.HelloServiceImpl
package dynamicp
- JDBC连接数据库
百合不是茶
JDBC编程JAVA操作oracle数据库
如果我们要想连接oracle公司的数据库,就要首先下载oralce公司的驱动程序,将这个驱动程序的jar包导入到我们工程中;
JDBC链接数据库的代码和固定写法;
1,加载oracle数据库的驱动;
&nb
- 单例模式中的多线程分析
bijian1013
javathread多线程java多线程
谈到单例模式,我们立马会想到饿汉式和懒汉式加载,所谓饿汉式就是在创建类时就创建好了实例,懒汉式在获取实例时才去创建实例,即延迟加载。
饿汉式:
package com.bijian.study;
public class Singleton {
private Singleton() {
}
// 注意这是private 只供内部调用
private static
- javascript读取和修改原型特别需要注意原型的读写不具有对等性
bijian1013
JavaScriptprototype
对于从原型对象继承而来的成员,其读和写具有内在的不对等性。比如有一个对象A,假设它的原型对象是B,B的原型对象是null。如果我们需要读取A对象的name属性值,那么JS会优先在A中查找,如果找到了name属性那么就返回;如果A中没有name属性,那么就到原型B中查找name,如果找到了就返回;如果原型B中也没有
- 【持久化框架MyBatis3六】MyBatis3集成第三方DataSource
bit1129
dataSource
MyBatis内置了数据源的支持,如:
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<data
- 我程序中用到的urldecode和base64decode,MD5
bitcarter
cMD5base64decodeurldecode
这里是base64decode和urldecode,Md5在附件中。因为我是在后台所以需要解码:
string Base64Decode(const char* Data,int DataByte,int& OutByte)
{
//解码表
const char DecodeTable[] =
{
0, 0, 0, 0, 0, 0
- 腾讯资深运维专家周小军:QQ与微信架构的惊天秘密
ronin47
社交领域一直是互联网创业的大热门,从PC到移动端,从OICQ、MSN到QQ。到了移动互联网时代,社交领域应用开始彻底爆发,直奔黄金期。腾讯在过去几年里,社交平台更是火到爆,QQ和微信坐拥几亿的粉丝,QQ空间和朋友圈各种刷屏,写心得,晒照片,秀视频,那么谁来为企鹅保驾护航呢?支撑QQ和微信海量数据背后的架构又有哪些惊天内幕呢?本期大讲堂的内容来自今年2月份ChinaUnix对腾讯社交网络运营服务中心
- java-69-旋转数组的最小元素。把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素
bylijinnan
java
public class MinOfShiftedArray {
/**
* Q69 旋转数组的最小元素
* 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。
* 例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。
*/
publ
- 看博客,应该是有方向的
Cb123456
反省看博客
看博客,应该是有方向的:
我现在就复习以前的,在补补以前不会的,现在还不会的,同时完善完善项目,也看看别人的博客.
我刚突然想到的:
1.应该看计算机组成原理,数据结构,一些算法,还有关于android,java的。
2.对于我,也快大四了,看一些职业规划的,以及一些学习的经验,看看别人的工作总结的.
为什么要写
- [开源与商业]做开源项目的人生活上一定要朴素,尽量减少对官方和商业体系的依赖
comsci
开源项目
为什么这样说呢? 因为科学和技术的发展有时候需要一个平缓和长期的积累过程,但是行政和商业体系本身充满各种不稳定性和不确定性,如果你希望长期从事某个科研项目,但是却又必须依赖于某种行政和商业体系,那其中的过程必定充满各种风险。。。
所以,为避免这种不确定性风险,我
- 一个 sql优化 ([精华] 一个查询优化的分析调整全过程!很值得一看 )
cwqcwqmax9
sql
见 http://www.itpub.net/forum.php?mod=viewthread&tid=239011
Web翻页优化实例
提交时间: 2004-6-18 15:37:49 回复 发消息
环境:
Linux ve
- Hibernat and Ibatis
dashuaifu
Hibernateibatis
Hibernate VS iBATIS 简介 Hibernate 是当前最流行的O/R mapping框架,当前版本是3.05。它出身于sf.net,现在已经成为Jboss的一部分了 iBATIS 是另外一种优秀的O/R mapping框架,当前版本是2.0。目前属于apache的一个子项目了。 相对Hibernate“O/R”而言,iBATIS 是一种“Sql Mappi
- 备份MYSQL脚本
dcj3sjt126com
mysql
#!/bin/sh
# this shell to backup mysql
#
[email protected] (QQ:1413161683 DuChengJiu)
_dbDir=/var/lib/mysql/
_today=`date +%w`
_bakDir=/usr/backup/$_today
[ ! -d $_bakDir ] && mkdir -p
- iOS第三方开源库的吐槽和备忘
dcj3sjt126com
ios
转自
ibireme的博客 做iOS开发总会接触到一些第三方库,这里整理一下,做一些吐槽。 目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code、SourceForge等地方。由于Github社区太过主流,这里主要介绍一下Github里面流行的iOS库。 首先整理了一份
Github上排名靠
- html wlwmanifest.xml
eoems
htmlxml
所谓优化wp_head()就是把从wp_head中移除不需要元素,同时也可以加快速度。
步骤:
加入到function.php
remove_action('wp_head', 'wp_generator');
//wp-generator移除wordpress的版本号,本身blog的版本号没什么意义,但是如果让恶意玩家看到,可能会用官网公布的漏洞攻击blog
remov
- 浅谈Java定时器发展
hacksin
java并发timer定时器
java在jdk1.3中推出了定时器类Timer,而后在jdk1.5后由Dou Lea从新开发出了支持多线程的ScheduleThreadPoolExecutor,从后者的表现来看,可以考虑完全替代Timer了。
Timer与ScheduleThreadPoolExecutor对比:
1.
Timer始于jdk1.3,其原理是利用一个TimerTask数组当作队列
- 移动端页面侧边导航滑入效果
ini
jqueryWebhtml5cssjavascirpt
效果体验:http://hovertree.com/texiao/mobile/2.htm可以使用移动设备浏览器查看效果。效果使用到jquery-2.1.4.min.js,该版本的jQuery库是用于支持HTML5的浏览器上,不再兼容IE8以前的浏览器,现在移动端浏览器一般都支持HTML5,所以使用该jQuery没问题。HTML文件代码:
<!DOCTYPE html>
<h
- AspectJ+Javasist记录日志
kane_xie
aspectjjavasist
在项目中碰到这样一个需求,对一个服务类的每一个方法,在方法开始和结束的时候分别记录一条日志,内容包括方法名,参数名+参数值以及方法执行的时间。
@Override
public String get(String key) {
// long start = System.currentTimeMillis();
// System.out.println("Be
- redis学习笔记
MJC410621
redisNoSQL
1)nosql数据库主要由以下特点:非关系型的、分布式的、开源的、水平可扩展的。
1,处理超大量的数据
2,运行在便宜的PC服务器集群上,
3,击碎了性能瓶颈。
1)对数据高并发读写。
2)对海量数据的高效率存储和访问。
3)对数据的高扩展性和高可用性。
redis支持的类型:
Sring 类型
set name lijie
get name lijie
set na
- 使用redis实现分布式锁
qifeifei
在多节点的系统中,如何实现分布式锁机制,其中用redis来实现是很好的方法之一,我们先来看一下jedis包中,有个类名BinaryJedis,它有个方法如下:
public Long setnx(final byte[] key, final byte[] value) {
checkIsInMulti();
client.setnx(key, value);
ret
- BI并非万能,中层业务管理报表要另辟蹊径
张老师的菜
大数据BI商业智能信息化
BI是商业智能的缩写,是可以帮助企业做出明智的业务经营决策的工具,其数据来源于各个业务系统,如ERP、CRM、SCM、进销存、HER、OA等。
BI系统不同于传统的管理信息系统,他号称是一个整体应用的解决方案,是融入管理思想的强大系统:有着系统整体的设计思想,支持对所有
- 安装rvm后出现rvm not a function 或者ruby -v后提示没安装ruby的问题
wudixiaotie
function
1.在~/.bashrc最后加入
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
2.重新启动terminal输入:
rvm use ruby-2.2.1 --default
把当前安装的ruby版本设为默