redis整理(一)
最近一直在面试,发现redis的知识还是太薄弱了,慢慢梳理一下。
redis为何物redis是基于内存的可持久化的key-value型数据库。
redis的优点
读写速度快
支持持久化(AOF,RDB两种方式)
支持事务
数据类型丰富(string,hash,set,zet,list)
支持主从,读写分离
redis的缺点redis数据类型
类型
数据类型
string
字符串,整数,浮点型
hash
有键值对的列表
set
字符串的无序集合,每个字符串都是唯一的
zet
有序集合,由浮点key和字符串值组成
list
list链式表,每个节点上都一个值
string
获取值 get key
设置值 set key
删除值 del key
自增 incr key
按值自增 incrby key
hash
设置值(可同时设置多个,空格分隔)hset key field1 [field2]返回入库条数
获取值hget key field,返回值
获取所有值hgetall key,返回所有键值
删除值(可同时删除过个)hdel key field1 [ ...
我的键盘他不只是个键盘
你以为我的键盘只是一个键盘?No!他还是一个留言簿,它在可见的未来将承载并记录我的一步步旅程;
告别了过去的三年,我没有挥一挥衣袖,不带走一片云彩,我,带走了小伙伴们教给我的无数知识和。。。。。emmm。。。。他们的的键帽(手动狗头),哈哈哈哈;
若干月之前,偶然和测试阿斌哥互换了一个F5的键帽。再后来斌哥去往了更宽广的舞台,键帽就这样保留了下来。直到今天再添一员大将。
感谢雲放同学的page down,也感谢斌哥的F5,感谢你们的键帽,让我的键盘不再只是个键盘。
大家以后都要加油啊,你们都棒棒哒。
解决Fatal:Not a gitflow-enabled repo yet. Please run 'git flow init' first
今天sourcetree操作git,报错Fatal: Not a gitflow-enabled repo yet. Please run ‘git flow。记录一下解决方案。
问题解决打开项目下的.git/config文件,并删除所有gitflow的配置
删除后保存config,并重启sourcetree,重新点击git工作流=>初始化仓库重新执行之前报错的git操作,不再报错
使用pdf.js展示pdf及展示电子签章
项目中之前的小伙伴用的pdfh5.js,用起来有些许bug,于是乎准备使用pdf.js代替之
js下载点击pdf.js官网下载,本次使用的为 v2.7.570下载后保持结构不变移植到项目中
使用
本次使用iframe用法,其他用法略复杂,等以后再研究
在需要展示pdf的地方引用一下代码即可,官方已经封装好用法,即web目录下的viewer.html,在之后跟踪file参数接pdf地址即可,示例如下:
1<iframe src="js/plugins/pdfjs/web/viewer.html'?file=http://tax-manage.test/storage/contract/test.pdf')}}" frameborder="0" width="100%" height="800px" id="iframe"></iframe>
效果图
签章展示签章报错然鹅,如上使用后pdf可展示了,but 电子签章不展示, ...
php使用ZipArchive类,压缩文件
今天工作中,需要从服务器打包个人的签约pdf文件回本地,从数据库拉出个人的身份证号码及对应的签约文件名,最后要实现将签约文件以身份证号命名,于是写了个小脚本拉一下;
保存身份证及文件名的对应关系文件如下
文件打包成zip1234567891011121314151617181920212223242526272829303132//身份证及文件名一一对应的条件存储文件$txt_file = './condition.txt';//最后打包的zip包名$zip_name = './res.zip';//签约文件存储地址$dir = '/Volumes/PHP/tax-manage/public/downloads/';$zip = new ZipArchive();/* * open方法第一个参数是压缩或解压的文件 * open第二个参数,用ZipArchive::CREATE,若文件已存在,会继续添加,用ZipArchive::OVERWIRITE则会覆盖之前的zip包 * 传ZipArchive::CREATE时, ...