标签云(tagcloud)的球形JQuery插件

在蓝色看到有需要标签云的球形效果,我记得之前在网上见到过,印象比较深刻,就找出地址发给他了,接下来却还有人需要这个效果的JQuery插件,网上好像也有,但是我看现在这个就不错,就想想自己改成jquery插件,方便喜欢使用jquery插件的人使用。

首先,说明下,这个tagcloud来源于妙味茶馆(http://www.miaov.com/),里面有很多效果的教程,tagcloud只是其中一个,全部是用原生Javascript实现的,他们的Demo地址:http://www.miaov.com/miaov_demo/3dLable/miaov_demo.html,先感谢下他们的分享和教程。

接下来,看看此插件的效果图:

windstagball的Demo:

演示地址:http://www.lijian.net/p/windstagball/index.html

下载包:http://www.lijian.net/p/windstagball/windstagballv1.0.zip

使用方法很简单,引入jquery和jquery.windstagball.js,需要显示为标签的HTML如下:

注意,这里的div要设置CSS“position:relative;”,然后在页面实现:

当然,也可以使用参数,如下:

radius为标签云的半径,单位像素,speed则为运行速度,建议使用默认值10。

好了,再去看看你的页面,就有很炫的tagcloud效果了!

发表在 Web前台开发技术 | 标签为 , , | 留下评论

【转载】Modernizr——为HTML5和CSS3而生!

10年前,只有最尖端的网站设计师会为网页的布局和修饰使用CSS。那时的浏览器对CSS进行布局的支持即不完善又漏洞百出,所以这些人在坚持WEB标准化的同时,也不得不采用hacks来使得他们的页面在所有浏览器中都能正常显示。其中一个被使用的越来越多的hack技术是浏览器嗅探(browser sniffing),使用Javascript里的navigator.userAgent属性来判断用户使用的是什么品牌哪个版本的浏览器。浏览器嗅探技术可以快捷的将代码进行分支,以便针对不同的浏览器应用不同的指令。

今天,以CSS为基础进行的布局已经非常普遍,浏览器们对它的支持也非常的坚实。但是现在CSS3和HTML5来了,历史转了个圈又回到了原地——各个浏览器对这些新技术的支持又开始变得参差不齐了。我们早都习惯了书写整洁的符合标准的代码,也不会再使用CSS hacks或者浏览器嗅探这些不靠谱又低级的技术。我们也相信越来越多的用户会认同网站不必在所有浏览器里都看起来一样的理念。那面对当下这个熟悉的情形(浏览器支持的不同),我们该怎么做呢?简单:使用特征检测(feature detection),这意味着我们不必通过问浏览器“你是谁?”来做出不靠谱的推测。取而代之,我们问浏览器“你能做这个或那个吗”。这么来检测浏览器的能力是很简便的,但一个个的花时间去手工测试依然令人厌烦。此时Modernizr可以帮助我们。

Modernizr:专为HTML5和CSS3开发的功能检测类库

Modernizr是一个开源的JS库,它使得那些基于访客浏览器的不同(指对新标准支持性的差异)而开发不同级别体验的设计师的工作变得更为简单。它使得设计师可以在支持HTML5和CSS3的浏览器中充分利用HTML5和CSS3的特性进行开发,同时又不会牺牲其他不支持这些新技术的浏览器的控制。

当你在网页中嵌入Modernizr的脚本时,它会检测当前浏览器是否支持CSS3的特性,比如 @font-face、border-radius、 border-image、box-shadow、rgba() 等,同时也会检测是否支持HTML5的特性——比如audio、video、本地储存、和新的 <input>标签的类型和属性等。在获取到这些信息的基础上,你可以在那些支持这些功能的浏览器上使用它们,来决定是否创建一个基于JS的fallback,或者对那些不支持的浏览器进行简单的优雅降级。另外,Modernizr还可以令IE支持对HTML5的元素应用CSS样式,这样开发者就可以立即使用这些更富有语义化的标签了。

Modernizr是基于渐进增强理论来开发的,所以它支持并鼓励开发者一层一层的创建他们的网站。一切从一个应用了Javascript的空闲地基开始,一个接一个的添加增强的应用层。因为使用了Modernizr,所以你容易知道浏览器都支持什么。下面我们来看一个通过应用Modernizr来创建尖端网站的实例。

从应用Modernizr开始

首先从www.modernizr.com下载Modernizr的最新的稳定版(目前国内封了Modernizr的官网,我们可以从github上下载。或者更简单点,可以从博主这里下载最新的modernizr-2.7.0版的脚本文件),在官网上你还可以看到它支持检测的所有特性的清单。下载完最新版本以后,把它加入页面的<head>区域:

接下来,向<html>元素添加“no-js”的类。

当Modernizr运行的时候,它会把这个“no-js”的类变为“js”来使你知道它已经运行。Modernizr并不仅仅只做这一件事情,它还会为所有它检测过的特性添加class类,如果浏览器不支持某个特性,它就为该特性对应的类名加上“no-”的前缀。所以,你的<html>元素可能会变得看起来像下面这个样子:

Modernizr同时还会创建一个JS对象,被命名为“Modernizr”,其内容是为每一个检测完的特性给出的布尔值结果组成的列表。如果浏览器支持新的canvas元素,那么“Modernizr.canvas”的值就是true;如果浏览器不支持这个新元素,那它对应的值就是false。这个JS对象针对某些功能还会包含更为详细的信息,如“Modernizr.video.h264”会告诉你浏览器是否支持这个特殊的编解码器。“Modernizr.inputtypes.search”会告诉你当前浏览器是否支持新的search input类型,等等。

下面,我们要增强这个页面使得它更有意思。我想为头部的h1应用一个奇特的文字效果,把关于检测特性的列表分为两栏,然后将带有一张照片的关于Modernizr的部分的一切都弄到右边去。我还要把围绕页面内容的边框变美点。现在,更给力的CSS3使你可以对一条规则添加更多的属性,如果浏览器不支持这些属性,它会忽略它们。配合使用CSS的层叠(继承),你可以不必依赖Modernizr而使用像“border-radius”这样的新属性。不过,使用Modernizr可以为你提供一些既有手段提供不了的功能:根据浏览器对新东西支持的差异动态修改的<html>的类名。我会通过对我们的页面添加2条新的规则来说明这点:

第一条规则为“#content ”元素添加了一个12像素的圆角。但在既有的页面里我们已经为“#content ”元素设置了一个属性值为“2px outset #666”的边框,这在box是直角的时候是蛮好看的,但在圆角情况下就不是了。感谢Modernizr,我可以在浏览器支持“border-radius”的情况下给box设置一个1px的实边。

第二条规则更进步了一点,我们为“#content ”元素添加了一个阴影,并且针对支持“box-shadow”属性的浏览器一并移除了border属性。为什么呢?因为大部分浏览器并不为“边框附带边角”的组合外加阴影这样的效果提供一个好的表现(这是一个应该被注意的浏览器的瑕疵,但我们现在却必须忍受它)。同不使用阴影只使用边框相比,我宁可只使用阴影包围元素。采用这种方式,我可以拥有全世界最好的,准确点的,最好的一种CSS表现:在支持“box-shadow”属性的浏览器里将会呈现一个美妙的阴影;只支持“border-radius”属性的浏览器将会呈现一个好看的圆角薄边框;对于那些这2者都不支持的破烂浏览器,我们会看到一个2像素的直角边框。

下面我们要为header应用一个自定义的特殊字体,下面的是我们目前针对h1的声明,没改动版的:

这些声明在我们的基础网页里工作良好,27像素的文字大小也很适合我们为h1设置的那些字体的展示。但对于我要用的名叫“Beautiful”的字体来说,27像素就太小了。下面我们要添加其他的规则来使用这个自定义字体:

首先,我们添加“@font-face”声明,并在其中为我们的自定义字体指定路径、文件名和字体名。之后我们用一条CSS语句为我们的h1选择字体样式。你会看到,我这里选择了一个很大的字号,那是因为“Beautiful”字体本身就比其他字体的文字要小很多,所以我们必须要指示浏览器在展示我们自定义字体的时候,给予h1一个很大的字号。

此外,我们漂亮的手写体文字在文字阴影方面存在一些渲染问题,所以我们要在浏览器决定使用自定义文字时取消文字的阴影。另外,关于检测特征部分的列表还需要被分为两栏。为了达到目的,我要使用牛叉的CSS columns 属性,这一属性会使浏览器把列表智能分栏而不会打乱它的顺序,而我们的列表,虽然没有数字序号,却也是按照字母顺序排列的。当然,不是所有的浏览器都支持这一属性,对于那些不支持的浏览器,我们使用浮动来达到2栏的目的——使用了浮动后列表在视觉上不会再按照字母顺序排列,但那也好过什么都没有。

我又一次使用了Modernizr来针对不同的情况设置不同的属性。如果浏览器支持CSS columns,它就会把列表完美的分为2栏,如果不支持,通过Modernizr为<html>添加的“no-csscolumns”类我们也可以用浮动的方式使得列表变为两栏,虽然不那么完美,但也比直接来一个长串的单栏列表强。

这里您可能注意到了我为属性添加了不同的前缀(-moz-、-webkit-、-o-),这是因为不同的浏览器厂商对该功能的实现有不同的定义,所以要实现该功能需要针对不同的浏览器加上它们对应的前缀。

我们将为我们的页面添加进更多的渐进式增强效果来结束这篇教程。基于WebKit的浏览器支持一些更牛叉的特效,如CSS变换、动画和三维转换等。并且我想在最后一个阶段的页面中应用一些这类特效。再一次的,这些属性会被添加进我们既有的CSS中并在不支持它们的浏览器中给忽视。所以,针对这种一方面是渐进增强一方面是不被支持的情况,使用Modernizr是恰当的。

首先设置的:

@keyframes规则是新的CSS animations规范中的一部分,目前只有WebKit支持。它容许你针对任何属性声明一个完整的动画路径,并在你喜欢的任何阶段改变它们。想知道关于animations的更多知识,请阅读 W3C Working Draft specification

下面我们添加使得我们一个元素在三维空间里旋转的代码:

因为logo要转动,且又希望它转的时候和背景相处的融洽些,于是这里用了一个png格式的文件。我还采用了一个“overflow:hidden”属性来隐藏设置了缩进-9999像素的header里的文字。使元素以3D的形式旋转虽然有趣却并不太美观。最终,我们选择使用animation规则,设置它的旋转周期为2秒钟,沿着自身的中轴线旋转,永不停止。

最终的页面看起来很给力,甚至还针对WebKit浏览器设置了好玩的动画。我希望到现在你能明白使用Modernizr可以使你对网站控制的手腕变得多么牛叉,以及它可以令真正的渐进增强变得多么简单。这还不仅仅是Modernizr的全部好处,它还可以帮你建立基于JS的fallbacks以及可以帮你应用html5那些牛掰的新特性。

发表在 Web前台开发技术 | 标签为 , | 留下评论

Mysql中Memory引擎内存类型表详解

Memory存储引擎(老版本也叫做heap存储引擎),顾名思义是在内存中存储所有的数据,它具有以下两个明显特征:

内存中存储数据,非常高速;

mysql关闭后所有数据消失,mysql启动时会创建空表;

基于上面两个重要特征,我们一般用它来存储一些在短时间内需要高速访问但是无需在磁盘持久化的数据,例如在单点登录(SSO)的一种解决方案中有一个非常适合的应用场景:用户从网站A跳转到网站B,这时候网站A需要为此次跳转生成一个令牌并发送给网站B,此时我们可以把令牌存储到内存表中,网站B接受到令牌之后,会通过一个服务器端请求网站A来验证令牌的正确性:

SSO的整个过程注重性能,需要高效访问;

网络跳转的速度是很快的,因此令牌的生命周期很短,验证一次之后为了防止重复使用,需要失效该令牌,因此无需持久化存储。(根据经验,一个令牌的生命周期往往只有几秒)

当然,memory存储引擎也是一个绝佳的cache解决方案,本身jdbc操作就很容易被java程序员接受;而且可以对已有的一些程序在极少改写代码的情况下来提高性能,例如对一些常用资源的查询如省市信息,如果以往是通过直接查询数据,现在改为从内存表中读取,几乎是没有任何改造成本的;且mysql的易用性也免去了对其他cache服务器的学习成本。

如何创建内存表?

创建内存表非常的简单,只需注明 ENGINE= MEMORY 即可:

CREATE TABLE tablename ( columnName varchar(256) NOT NUL) ENGINE=MEMORY DEFAULT CHARSET=latin1 MAX_ROWS=100000000;

注意:

当内存表中的数据大于max_heap_table_size设定的容量大小时,mysql会转换超出的数据存储到磁盘上,因此这是性能就大打折扣了,所以我们还需要根据我们的实际情况调整max_heap_table_size,例如在.cnf文件中[mysqld]的下面加入:

max_heap_table_size = 2048M

另外在建表语句中还可以通过MAX_ROWS来控制表的记录数。

发表在 数据库相关技术 | 标签为 , | 留下评论

如何用Navicat通过Http方式连接服务器的MySQL数据库

如果网站空间服务供应商不提供远程连接MySQL,也就无法利用NaviCat客户端通过填写服务器地址来连接远程服务器,这时该怎么办呢?

之前一直是通过Navicat的ssh方式来连接服务器的MySql数据库,今天碰到某服务器不支持ssh连接,仅支持ftp连接。

仔细看了一下Navicat发现在SSH选项卡后面有个HTTP的选项卡,这是干什么用的呢?

H[DV1~XX$ZR$5TP_B]VC03M

 经过一番的百度谷歌之后终于会用HTTP来连接数据服务器的数据库了。

具体步骤如下:

首先到NaviCat官网上去下载最新版本的NaviCat。安装完成后,打开NaviCat,如下图所示:

navicat01

然后点击左上角的连接,弹出新键连接信息,如下图所示:

5855U98_UCY8D61I~JS{C0D

 

在主机名IP地址那里填写localhost或127.0.0.1。

用户名与密码一栏则填写你所在的数据库用户名与密码。

这时候还不能连接数据库的,需要通过HTTP通道的形式进行数据库连接。

点击连接属性标签栏中的HTTP,如下图所示:

navicat03

 

勾选使用HTTP通道后,在通道地址一栏输入你的网址与后台文件地址。

例如:https://blog.zzstudio.net/ntunnel_mysql.php  , 这里说明一下通道地址,前半部份:https://blog.zzstudio.net/ 是指你的服务器的域名,后半部份:ntunnel_mysql.php是指NaviCat客户端后台连接地址。这里ntunnel_mysql.php可以根据你自己的喜好去重命名。那么,这个ntunnel_mysql.php文件在哪里找呢?

这个ntunnel_mysql.php文件在你的Navicat安装目录中,例如默认的安装目录:

navicat04

 

找到该文件后,我们利用FlashFxp或其它FTP工具把该文件上传到我们的网站根目录下:

navicat05

然后测试一下Navicat看看:

navicat06

 

提示连接成功就说明已经配置成功了!是不是很神奇很强大呢。

 

发表在 应用工具软件, 数据库相关技术 | 标签为 , , , | 留下评论

【分享】山东网通dns

山东省烟台市(中国网通)
202.102.154.3
202.102.152.3

山东省济宁市(中国网通)
首选DNS:202.102.154.3
备份DNS:202.102.152.3

山东省青岛市(中国网通)
首选DNS :202.102.134.68
备份DNS :202.102.128.68

山东省滨州市(中国网通)
首选DNS :202.102.134.68
备份DNS :202.102.128.68

山东省临沂市(中国网通)
首选DNS:202.102.154.3
备份DNS:202.102.152.3

山东省临沂市(中国电信)
首选 DNS : 219.146.0.130
备用 DNS : 219.150.32.132

山东省德州市(中国网通)
首选DNS 202.102.152.3
备选DNS 202.102.154.3

山东滕州市(中国网通)
首选DNS:202.102.128.68
备份DNS:202.102.134.68

山东省菏泽市(中国网通)
首选DNS: 202.102.152.3
备份DNS: 202.102.154.3

山东省枣庄市(中国电信)
首选DNS:219.146.0.130
备用DNS:219.150.32.132

山东省淄博市(中国网通)
首选DNS:202.102.154.3
备份DNS:202.102.152.3

山东省聊城市(中国网通)
首选DNS:202.102.152.3
备用DNS:202.102.154.3

山东省东营市(中国网通)
首选DNS:202.102.152.3
备选DNS:202.102.154.3

山东省东营市(中国网通)
首选DNS:202.102.154.3
备选DNS:202.102.128.68

山东省威海市(中国网通)
首选DNS:202.102.154.3
备份DNS:202.102.152.3

发表在 生活随笔 | 标签为 | 留下评论

【分享】用同一张图讲解5种PS抠图方法

先贴原图

第一抠

1、先用钢笔或套索工具勾出人物的主体部分,做的时候一定要注意,蚂蚁线不要太到边缘,更不能外出,否则扣出来的效果是不理想的。

 

2、然后进行羽化,羽化的作用是使边缘柔和,不会显得生硬。 

 

3、羽化值根据图像的面积的大小和所选范围的大小而设定,我这里设定为1。 

4、然后ctrl+j自动生成图层1。 

 

5、我将图层1, 改为“人物主体”,目的为后来的另外几种抠图备用,使大家能一目了然。 

 

6、关闭人物主体前的眼睛,选中背景层,回到通道。大家注意看,蓝色通道的背景很干净,呈现单一的灰白,那么蓝通道就可以利用了。 

 

7、将蓝通道拖到创建新通道图标按钮处,得到一个新的“蓝 副本”通道,如图所示: 

8、 ctrl+i将蓝副本通道反相,反相后,原来白的变黑,黑的变白了。但由于原来白的部分不是纯白,当然反相后就不可能是纯黑了,为了将黑度增强,就必须要进行下一步的色阶调整了。 

 

9、ctrl+L 色阶面版跳出来了。 

 

10、将中间的小三角往右拖,圆圈内的数值由原来的1变为0.88了,蓝通道显得更黑了。 

 

11、按住ctrl 用鼠标点击“蓝 副本”通道,蚂蚁线出现了,现在的状态为选取了白色区域,我们要的就是这个白色选区了。 

12、不要取消蚂蚁线,回到背景。 

 

13、ctrl+j自动生成“图层1”,隐藏背景层前的眼睛,效果如图所示: 

 

14、按住ctrl,用鼠标点击红圈内的按钮,在图层1的下方出现“图层2” ,随意填充一种黄色。如图所示: 

 

15、大家看,头发边缘效果不好,显得有些灰白,用图层菜单——修边——移去白色杂边命令可清除掉。

( 当然也可用“正片叠底”在后面的方法里我会用到的) 

 

16、现在,发丝边缘现在很漂亮了。 

 

17、让人物主体层前的眼睛出现,该层为可见。大家看,现在总的效果是不是好看了呀!这种观察通道,选取可利用通道抠图到此完毕。 

 

第二抠

1、教程名是“一图五抠”,第一抠完了,现在进行新的第二抠了,假如“蓝通道”同红、绿两通道一样,背景部分是花的,而不是单一的灰白怎么办呢?我现在以绿通道为例,来做个示范。

 

2、同样,复制绿通道为“绿 副本”,然后ctrl+i反相。 

3、将图放大观察,背景部分有明显的灰色块。如过用色阶来加深绿副本通道,若为了使背景够黑加深过多,会损失发丝。所以在进行色阶调整前先用画笔工具往背景上涂抹黑色。 

 

4、现在背景比较黑了。大家注意,要涂抹整个背景。 

 

5、ctrl+L色阶调整,如图: 

 

6、按住ctrl,用鼠标点击“绿副本”通道,蚂蚁线出现了: 

7、保持蚂蚁线不取消,回到背景层。 

 

8、按ctrl+j出现“图层1”如图所示: 

 

9、按住ctrl,用鼠标点击红圈处,在图层1的下方出现“图层2”,填充黄色,效果如图所示: 

 

10、大家看上图,同样是发丝边缘不美观。我这次将图层1的模式设定为“正片叠底”,注意看红色椭圆里的内容。大家看效果立即好起来了。(当然大家也可象第一抠里那样将图层1移去白色杂边)

让“人物主体层”前的眼睛出现,该层为可见。大家看,效果也不错了。
第二抠到此完毕!

第三抠

1、接下来进行第三抠,用“抽出”抠图,复制背景层为“背景副本”


2、这是抽出面板了,注意我用红色椭圆圈住的几个地方。用边缘高光器工具在人物头发上涂抹一层绿色(涂抹其它颜色也可以),强制前景色为“黑色”,(黑色是怎样来的呢?用鼠标双击默认的白色,就会跳出拾色器,颜色应有尽有了)。设置完后点按“好”

 

3、回到“背景副本”层,效果如图所示:

让“人物主体层”前的眼睛出现。该层为可见。大家看,效果也不错!第三抠到此完毕!

第四抠

1、现在进行第四扣,色彩范围抠图。将前景色设定为“黑色”,注意我用红圈圈住的地方。


2、不用更改任何设置,直接点按“好”

3、蚂蚁线出现了。

现在进行第四扣,色彩范围抠图。

1、将前景色设定为“黑色”,注意我用红圈圈住的地方。


2、不用更改任何设置,直接点按“好”

3、蚂蚁线出现了。

4、ctrl+j出现“图层1” 效果如图所示:

5、在图层1的下方新建“图层2”,填充黄色,效果如图所示:

6、将图层1移去白色杂边。

将“人物主体层”为可见,让前面眼睛出现。显示效果如图所示:第四抠到此完毕!

第五抠

1、最后进行第五抠了,直接使用“正片叠底”。复制蓝通道为“蓝 副本”

2、ctrl+L色阶调整,这回三角滑块是向左方向拉的,使蓝副本通道里的黑白更为分明,注意输入色阶值的变化。

 

3、c选中“蓝副本通道”,ctrl+a 全选,然后ctrl+c复制。 

 

4、回到图层,新建图层1,将刚才的复制粘贴到图层1,效果如图所示: 

 

5、在图层1的下方新建“图层2”填充黄色,然后将“图层1”设定为“正片叠底”(注意红色椭圆里的内容)。效果如图所示: 

 

6、让人物层前的眼睛出现,该层为可见。大家看,效果也是不错,第五抠到此完毕。到此整个教程的抠图结束了。 

发表在 应用工具软件 | 标签为 | 留下评论

【分享】36种漂亮的CSS3网页按钮Button样式

效果:

36种漂亮的CSS3网页按钮Button样式





36种漂亮的CSS3网页按钮Button样式


































发表在 Web前台开发技术 | 标签为 , | 留下评论

【分享】mysql的部分替换sql语句

有时候需要对mysql中的内容进行部分替换,那么可以参考下面的文章。

 

将cdb_pms表subject字段中的Welcom to替换成 欢迎光临

UPDATE cdb_pms
SET subject = REPLACE(subject, 'Welcome to', '欢迎光临')
WHERE INSTR(subject,'Welcome to') > 0

 

替换cdb_posts表的message字段,将“viewthread.php?tid=3989”替换成“viewthread.php?tid=16546”

UPDATE cdb_posts
SET message= REPLACE(message, 'viewthread.php?tid=3989', 'viewthread.php?tid=16546')
WHERE INSTR(message,'viewthread.php?tid=3989') > 0 ;

 

删除所有的空格

UPDATE es_product SET pro_pub_time = TRIM(pro_pub_time)

 

删除所有饱含'[‘或者’]’或者’.’的字符

UPDATE es_product SET pro_pub_time = REPLACE(pro_pub_time, '[','') WHERE INSTR(pro_pub_time,'[') > 0 
UPDATE es_product SET pro_pub_time = REPLACE(pro_pub_time, ']','') WHERE INSTR(pro_pub_time,']') > 0
UPDATE es_product SET pro_pub_time = REPLACE(pro_pub_time, '.','-') WHERE INSTR(pro_pub_time,'.') > 0

 

将所有的年月都替换成’-‘

UPDATE es_product SET pro_pub_time = REPLACE(pro_pub_time, '年','-') WHERE INSTR(pro_pub_time,'年') > 0
UPDATE es_product SET pro_pub_time = REPLACE(pro_pub_time, '月','-') WHERE INSTR(pro_pub_time,'月') > 0

 

将所有’2005-04-‘这种类型的替换成’2005-04-01’

UPDATE es_product SET pro_pub_time = CONCAT( pro_pub_time, '01') WHERE SUBSTRING_INDEX( pro_pub_time, '-', -1) = '' AND LENGTH(pro_pub_time) > 0 AND LENGTH(pro_pub_time) > 5

 

将所有’2005-‘这种类型替换成’2005-01-01’

UPDATE es_product SET pro_pub_time = CONCAT( pro_pub_time, '01-01') WHERE INSTR(pro_pub_time,'-') > 0 AND LENGTH(pro_pub_time) = 5

 

将所有 饱含’-‘,但是位数小于8的改成追加’-01′

UPDATE es_product SET pro_pub_time = CONCAT( pro_pub_time, '-01') WHERE INSTR(pro_pub_time,'-') > 0 AND LENGTH(pro_pub_time) < 8

 

将所有'2005'这样的改成'2005-01-01'

UPDATE es_product SET pro_pub_time = CONCAT(pro_pub_time,'-01-01') WHERE INSTR(pro_pub_time,'-') = 0 AND LENGTH(pro_pub_time) = 4

 

最后将所有'2005-01-01'格式化成'2005年01月'

UPDATE es_product SET pro_pub_time = DATE_FORMAT(pro_pub_time,'%Y年%m月') WHERE INSTR(pro_pub_time,'-') > 0

发表在 数据库相关技术 | 标签为 | 留下评论

windows下memcached服务的安装与配置

1. 下载windows版本的Memcached:http://code.jellycan.com/memcached/ 

2.解压之后放在硬盘的目录下,如:D:\memcached . 然后在运行中输入cmd进入命令行,进入到Memcached.exe 所在的目录,例如:D:\memcached,然后输入: 


Cmd代码

到memcached根目录 
1、安装 
memcached.exe –d install  

2、启动 
memcached.exe -d start 

此时memcached已经注册为开机启动服务 

完成安装。 


经实验使用命令修改端口无效,相应的解决方案是修改注册表: 

通过修改注册表来达到这个修改端口的目的。 

在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server 下面找到一个 ImagePath 的字符串项,正好是服务的执行路径的字符串,双击该串,在后面加入 -l 192.168.1.135 -m 45 -p 12345 (访问ip为:192.168.1.135 使用45M内存,12345为端口),再启动服务。 


现在来试试是否可以连接: 

使用方法为“telnet ip 端口号”,登录后使用“stats”命令 
cmd下 
telnet 192.168.1.135 12345(注意:这里只能用IP 不能用 localhost 或127.0.0.1) 

然后使用:stats命令可以看到memcached的使用情况如下: 

STAT uptime 760 
STAT time 1311913149 
STAT version 1.2.1 
STAT pointer_size 32 
STAT curr_items 0 
STAT total_items 0 
STAT bytes 0 
STAT curr_connections 4 
STAT total_connections 6 
STAT connection_structures 5 
STAT cmd_get 0 
STAT cmd_set 0 
STAT get_hits 0 
STAT get_misses 0 
STAT bytes_read 63 
STAT bytes_written 793 
STAT limit_maxbytes 10485760 
END 

3、memcached的基本设置 : 

-p 监听的端口 

-l 连接的IP地址, 默认是本机 

-d start 启动memcached服务 

-d restart 重起memcached服务 

-d stop|shutdown 关闭正在运行的memcached服务 

-d install 安装memcached服务 

-d uninstall 卸载memcached服务 

-u 以的身份运行 (仅在以root运行的时候有效) 

-m 最大内存使用,单位MB。默认64MB 

-M 内存耗尽时返回错误,而不是删除项 

-c 最大同时连接数,默认是1024 

-f 块大小增长因子,默认是1.25 

-n 最小分配空间,key+value+flags默认是48 

-h 显示帮助 

4、最主要的一点,在windows下安装memcache通过命令行修改参数好像不起什么作用,需要进入注册表修改启动项参数才有用,具体操作如下:进入注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server , 在其中有一个ImagePath 项,值为”d:\memcached\memcached.exe” -d runservice ,在后面加上-l 127.0.0.1 -m 3000 -c 2048 最后ImagePath 项值应该像这样: 


注册表值代码

1. d:\memcached\memcached.exe” -d runservice -l 127.0.0.1 -m 3000 -c 2048  

d:\memcached\memcached.exe” -d runservice -l 127.0.0.1 -m 3000 -c 2048 

5、memcached –d start 启动memcached服务,这样就将memcached的最大内存修改为了3000MB。 


对Memcached缓存服务的状态查询,可以先telnet连接上服务:telnet 127.0.0.1 11211 ,然后使用 stats命令查看缓存服务的状态,会返回如下的数据: 

time: 1255537291 服务器当前的unix时间戳 

total_items: 54 从服务器启动以后存储的items总数量 

connection_structures: 19 服务器分配的连接构造数 

version: 1.2.6 memcache版本 

limit_maxbytes: 67108864 分配给memcache的内存大小(字节) 

cmd_get: 1645 get命令(获取)总请求次数 

evictions: 0 为获取空闲内存而删除的items数(分配给memcache的空间用满后需 
要删除旧的items来得到空间分配给新的items) 

total_connections: 19 从服务器启动以后曾经打开过的连接数 

bytes: 248723 当前服务器存储items占用的字节数 

threads: 1 当前线程数 

get_misses: 82 总未命中次数 

pointer_size: 32 当前操作系统的指针大小(32位系统一般是32bit) 

bytes_read: 490982 总读取字节数(请求字节数) 

uptime: 161 服务器已经运行的秒数 

curr_connections: 18 当前打开着的连接数 

pid: 2816 memcache服务器的进程ID 

bytes_written: 16517259 总发送字节数(结果字节数) 

get_hits: 1563 总命中次数 

cmd_set: 54 set命令(保存)总请求次数 

curr_items: 28 服务器当前存储的items数量 


关于memcache 的一下疑问: 

memcached能接受的key的最大长度是多少? 
key 的最大长度是250个字符。需要注意的是,250是memcached服务器端内部的限制,如果您使用的客户端支持”key的前缀”或类似特性,那么 key(前缀+原始key)的最大长度是可以超过250个字符的。我们推荐使用使用较短的key,因为可以节省内存和带宽。 

memcached对item的过期时间有什么限制? 
过期时间最大可以达到30天。memcached把传入的过期时间(时间段)解释成时间点后,一旦到了这个时间点,memcached就把item置为失效状态。这是一个简单但obscure的机制。 

memcached最大能存储多大的单个item? 
1MB。如果你的数据大于1MB,可以考虑在客户端压缩或拆分到多个key中。 

发表在 操作系统相关 | 标签为 , | 留下评论

win8系统使用 Cisco VPN 442错误了,怎么办?

  有时因为工作或者是遇到要使用Cisco VPN Client的软件,但是在win8系统中经常会出现各种各样的报告错误,其中有一种就是Cisco VPN Client会报442错误,每次出现这个报告错误都会令人很是烦躁,所以出现这个报告错误要怎么的处理呢!现在我们就一起来看看吧!

  下面是具体的报错信息:

  Error Code 442 while connect to VPN server by Cisco VPN Client in Windows 8.Error message detail as below:

win8Cisco VPN 442错误怎么办

  以下是该错误的解决方法:

  Here is the solution to resolve the problem:

  1.手动启动Cisco的虚拟网卡。

  Manually enable the virtual network adapter named Cisco Systems VPN adapter.

  2.启动Cisco的VPN服务。

  Start Cisco VPN service.

  3.修改注册表,进入注册表regedit,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CVirtA找到DisplayName,

  x86系统的将值”@oem16.inf,%CVirtA_Desc%;Cisco Systems VPN Adapter” 更改为”Cisco Systems VPN Adapter”

  x64系统的将值 “@oem16.inf,%CVirtA_Desc%;Cisco Systems VPN Adapter for 64-bit Windows”更改为”Cisco Systems VPN Adapter for 64-bit Windows”

  Modify the related key in Registry. Find HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CVirtA and modify ‘DisplayName’ as below:

  For x86 OS: update “@oem16.inf,%CVirtA_Desc%;Cisco Systems VPN Adapter” to “Cisco Systems VPN Adapter”

  For x64 OS: update “@oem16.inf,%CVirtA_Desc%;Cisco Systems VPN Adapter for 64-bit Windows” to “Cisco Systems VPN Adapter for 64-bit Windows”

  4.尝试连接VPN,即可成功连接。

发表在 应用工具软件 | 标签为 , , , | 留下评论