自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

living_ren的博客

身心俱付,勿论结果!当我学会只是去做而不计较结果的时候一切才刚刚开始!

  • 博客(33)
  • 收藏
  • 关注

原创 hash算法的原理和实现代码

1.memcache中作为查询用的服务器往往不止一台,需要多台协同处理查询!分布式应用时需要考虑多台服务器间压力的分摊,所以往往采用hash算法来实现; 2.hash算法的实现原理可以简单理解为在一个有序排列(整数)的圆盘中存在多个节点,节点按照由小到大的顺序排列,当有查询任务时,将查询的key名转换为整数之后与节点进行对比,如果小于等于某个特定节点,则将此次查询分摊到该节点对应的服务器

2018-01-30 22:02:33 847

原创 linux下编译php-memcache的扩展

下载:wget http://pecl.php.net/get/memcache-2.2.7.tgz 解压后,发现目录内没有configure文件,所以选择根据当前php的版本动态的为memcache扩展动态生成一个configure的文件:/usr/local/php5.6.33/bin/phpize --with-php-config=/usr/local/php5.6.33/bin/

2018-01-29 22:18:48 300

原创 linux下编译安装php

1.下载源文件:下载php:wget http://hk1.php.net/get/php-5.6.33.tar.gz/from/this/mirror2.解压缩解压:tar -zxvf php-5.6.33.tar.gz3. 最近下载了一个tar.tar后缀的文件始终解压不了,经过多次搜索终于找到解压方法,现总结如下:直接使用tar -xf tar.tar就可以解压4.

2018-01-29 21:10:28 194

转载 LAMP架构——Apache(httpd)-2.4.29源码安装

pache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache,Apache官网www.apache.org 由于httpd2.2和httpd2.4所所使用的Apr库不同,而且centos7系统自带的Apr与之不匹配,所以需要使用yum安装Apr库文件。[root@dl-001 src]# wget http://mirrors.cnnic.cn/ap

2018-01-29 17:36:11 257

原创 windows下安装php-memcache扩展

1.下载php-memcache的扩展之前,要事先确定本机开发环境所使用的php版本、vc版本和ts版本,根据使用版本下载对应的扩展版本(通过phpinfo信息可以查询到):下面为扩展下载链接:http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/2.下载完成后将解压出来的php_memcache.dll和php_m

2018-01-29 11:15:06 283

原创 linux下memcache的安装和启动

安装memcache之前要记得先安装libevent类库,可以选择直接联网下载,使用wget命令即可: Linux的系统中,有时候需要wget下载一个文件,而下载地址中的文件名却非常长,导致下载失败,提示:Cannot write to和filename too long 解决这个问题只需要把下载的文件输出为一个固定的文件名。比如:sudo wget https://github.com

2018-01-27 17:42:23 11539

原创 memcache的增删改查及统计命令

1.增删改查的命令比较简单,但也有些地方需要注意: delete key删除某个键 get key获取某个键的值 add命令:不能给已经存在的key赋值 replace命令: 修改某个键的值 replace key flag expire value set命令:比较霸道,当对已经存在的key操作时执行修改;对不存在的key操作则执行添加2

2018-01-27 15:33:49 442

原创 memcached在windows下的安装和启动

1.下载memcached的二进制文件,放入指定目录下,本例子放在d盘下的memcached目录下2.使用cmd命令进入memcached目录,开启memcached的服务,使用命令如下:-m为所占用内存多少M,-p表示以什么端口启动,-vvv表示监听错误信息和读写过程memcached -m 48 -p 11211 -vvv3.确保windows开启telnet服务: 4.另外

2018-01-26 22:42:25 1350

原创 php简单的操作redis的5种数据类型

1.php操作string类型所使用的常用方法:set : 赋值get : 获取值decr: 减值incr: 增值 下图输出结果为: 2.php操作list类型所使用的常用方法:lpush:从左边插入rpush:从右边插入lpop:从左边弹出rpop:从右边弹出 运行结果为: 3.php操作set类型所使用的常用方法:sadd:添加scard:

2018-01-26 16:17:50 3848

原创 使用php连接redis

1.推荐一个php操作redis的使用文档的地址:https://github.com/phpredis/phpredis/2.建立一个connect.php文件: 实例化类并连接: $redis = new Redis(); $redis->connect("127.0.0.1",6379)3.记得一定要先开启redis server服务,后台执行 redis目录

2018-01-26 11:44:19 3966

原创 php redis扩展安装

1.首先从官网下载php redis扩展文件:下载地址:https://github.com/phpredis/phpredis/archive/develop.zip2.将下载下来的文件解压缩:unzip develop.zip3.进入解压后的文件,执行:phpize,生成configure工具 4.使用configure工具./configure -with-php-co

2018-01-25 22:10:48 2519

原创 redis的5种数据类型

1.redis的5种数据类型: string 字符串(可以为整形、浮点型和字符串,统称为元素) list 列表(实现队列,元素不唯一,先入先出原则) set 集合(各不相同的元素) hash hash散列值(hash的key必须是唯一的) sort set 有序集合2.string类型的常用命令: 自加:incr

2018-01-25 20:43:02 196826 12

原创 redis的安装方法和简单使用

1.redis是C语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要先安装gcc; 安装gcc环境的命令:yum install gcc-c++(联网下载安装)执行上面的命令后linux会自动下载安装 2. 使用filezilla上传redis压缩包到linux服务器,解压命令: tar -zxvf redis-3.2

2018-01-25 16:09:05 187

原创 mysql测试题:使用触发器完成订单与库存之间的动态连接

1.首先要理解触发器的使用场景: 个人浅显通俗的理解是当一张数据表的数据发生变化时,另外一张数据表与之存在逻辑关系的某一列或者多列的值也应对应发生变化;一般情况需要我们手动的进行修改,可是触发器的使用会自动完成这些内部的操作,防止人为的修改错误! 触发器trigger的四要素: 监视地点, 监视事件, 触发时间, 触发事件 基本语法: create trigge

2018-01-19 17:54:44 7300

原创 mysql面试题:使用表连接的方式查询出指定的结果

1.数据表matchs和Teams设计如下: 题目描叙与要求:matchs表中的hostTeamID和guestTeamID都与Teams表中的teamID相关联; 要求查出2006-06-01到2006-07-01之间所举行的所有比赛,并且采用以下形式列出来: 拜仁 2:0 皇马 2006-06-01

2018-01-18 17:00:38 1541

原创 连表查询join使用方法详解

1.数据查询时很多时候需要连表,查询出来的内容则包含2个表中的列内容,这个时候就需要用到连表,连表又分为左连接、右连接、内连接; 2.将上图中的article和category表连表查询,查询结果中包含cate_name列: 3.上图中使用左连接的方式可以完成功能,可惜美中不足的是art_id=20的那一行因为没有匹配的值则默认使用了NULL填充,这和左查询的机制有关! 注意:左

2018-01-17 22:53:45 9782

原创 数据库查询语句的应用例题查询思路剖析和查询知识点小结

题目:试查询下图数据表中2门及2门以上课程不及格同学的平均分 要求:只允许使用一次select查询1.数据表设计如下图: 2.试着将题目要求进行拆分处理:首先试着查询所有同学的平均分,使用group by进行人员的分类: 3.到这一步之后发现问题僵住了,因为要求是所有同学的平均分,而我们却还要判断该同学是否考试了2门以及挨个判断他们的成绩是否及格;此时可以将要求再细分,先查询该同

2018-01-16 20:38:46 336

原创 mysql 1366错误时的解决方案

1.在使用mysql插入数据时出现MySQL 1366的错误大致描述如下 : 2.首先检查mysql服务器端和客户端的字符集设置是否一致,经检查都为utf8;3.在检查数据库和数据表的字符集也是utf8,这下头大了,貌似找不出问题的原因了,纠结许久,既然还是有错那肯定不是计算机错了,查资料得出可能是数据表表字段的字符集设置有问题!4.检查当前数据表所有字段的属性: show

2018-01-16 13:27:12 7720

原创 数据库表数据基本的增删改查

1.查询表数据全部查询: select * from table_name;表数据部分行展示: select * from table_name where id>2;部分列展示: select id,name from table_name;2.添加insert into table_name(username,pwd,sex,phone,mail,depart

2018-01-14 15:40:42 351

原创 Mysql数据库操作入门语句

mysql创建流程: 1.先建立mysql服务器 2.再配置mysql客户端,连接服务器 3.建库 4.建表 5.操作表数据(以行列为单位)数据是无价的,所以安全和管理很重要!数据库操作分为三层:1.库操作 2.表操作 3.数据操作入门语句: 1.创建库:create database database_name 查

2018-01-13 21:34:51 213

原创 设置cookie和session的登录双重安全加密

1.登录界面提交过来的数据进行cookie和session的设置,其中cookie设置加密确保安全性 public function index(){ if(IS_POST){ $username=I('post.username'); $pwd=I('post.pwd','','md5');

2018-01-11 22:27:08 2382

原创 后台无限级分类添加的实现方式

1.数据库设计添加字段父级分类ID号parent_id和path路径,0代表为根分类(一级分类),一个‘_’代表二级分类: 2.添加分类模板修改为选择父级分类名: 模板中添加parent_id提交,如下: tr> th width="120">i class="require-red">*i>上级分类:th> td>

2018-01-11 15:18:23 3776 1

原创 文章详情页面回复功能添加及实现原理

1.评论区域模板内容如下,内嵌回复按钮和隐藏回复框 foreach name="commList" item="value"> div class="media"> a class="pull-left" href="#"> img class="media-object img-circle" src="__PUB

2018-01-08 21:28:26 1907

原创 文章详情页面评论功能添加及实现原理

1.评论框及评论内容展示模板如下: div id="comment"> h3>strong>发表评论:strong>h3> p>span>标题:span> input type="text" name="" id="comm_title" class="text">p> p>span>内容:span>textarea rows="10"

2018-01-08 21:17:49 9937 1

原创 博文详情页面点赞功能添加并完善

1.博文点赞功能添加:span class="like">a href="javascript:void(0)" id="ding" data-action="ding" data-id="{$artInfo.art_id}" title="我赞" class="favorite done">i class="fa fa-thumbs-up">i>赞 i class="count">{$ar

2018-01-06 22:39:25 974

原创 后台实现逻辑删除回收处理

1.后台删除数据时一般不会真正的删除,而是将数据库中的某个字段更改标记为删除状态,实现逻辑删除;a class="link-recycle" art_id="{$val.art_id}" href="javascript:void(0)">删除a> script> $('.link-recycle').click(function(){ var bool=win

2018-01-05 22:55:20 5749

原创 动态修改数据库配置信息表

1.通过POST提交过来的config配置项为一个一维数组;array (size=9) 'Domain_name' => string 'dofan.top' (length=9) 'website_title' => string '刘仁个人网站' (length=18) 'keywords' => string '设计, 开发, 后端资源, CSS, JavaScript,

2018-01-05 22:42:40 1970

原创 使用tp修改后台管理员登录用户密码

1.在模板中输入当前登录账号的密码,2次确认后post方法提交到后端tr> th>i class="require-red">*i>旧密码:th> td>input class="common-text" name="oldPwd" type="password">td>tr> tr> th>i class="require-red">*i>新密码:th>

2018-01-04 20:40:07 9120

原创 php中获取服务器常用信息的方法和框架内可以直接使用的常量

服务器常用信息获取系统类型及版本号: php_uname() (例:Windows NT )只获取系统类型: php_uname('s') (或:PHP_OS,例:Windows NT)只获取系统版本号: php_uname('r') 获取PHP运行方式: php_sapi_name()

2018-01-04 20:17:41 770

原创 python函数的应用之可变参数函数

测试:允许计算两个数的乘积,可接收一个或多个数并计算乘积:def product(x,*num): sum=1; if num==(): sum=sum*x else: for i in num: i=int(i) sum=sum*i sum=sum*x retu

2018-01-03 22:47:44 338

原创 thinkphp下model层封装方法优化

1.tp下涉及到多个控制器同时都需要取值时则会考虑将取数据的过程放到model层,控制层则会调用model层的方法直接取出相应数据;通过方法的封装可以只采取建立更少的model层来取数据,下面代码展示的就是article模型中通过一个方法取出最新文章、点击量最高文章和推荐文章: class ArticleModel extends Model { protected $table

2018-01-02 22:19:38 1938

原创 python轻修(三)之自定义函数

通过自定义函数的形式算出1元二次方程的值# Author:Liu Ren#导入系统math函数import mathdef quadratic(a, b, c): d=b*b-4*a*c if d>=0: #通过方程来计算出一元二次方程的两个值 sq=math.sqrt(d) zhi1=(-b+sq)/(2*a) zhi

2018-01-02 15:34:15 240

原创 thinkphp下通过模型连表查询验证登录的有效性

1.Model层下声明一个AdminModel类文件:自定义check方法<?php namespace Admin\Model; use Think\Model; class AdminModel extends Model { /*model层定义的属性tableName,如果表名和控制器名称一致则可以省略不写,但下面调用表时 则不能使

2018-01-01 20:32:14 378

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除