cmd命令行在utf-8下运行

很多时候,我们想在命令行下直接输入或者输出utf-8编码的字符,但是cmd默认是GBK编码的,utf-8下会乱码,特别是经常用php命令运行一些代码的时候,总是需要专门转为GBK才能正常显示。 今天在思考mongodb怎么去处理各种编码的兼容,因为在代码上没有发现任何设置编码的地方,后来查到mongodb采用bson格式保存,这种格式只支持utf-8编码, 无意中找到了一个cmd乱码解决方案,算是 Continue reading

MYSQL使用utf8mb4字符集兼容Emoji表情等特殊字符

无意中遇到微信昵称中特殊字符无法保存到数据库的问题,比如abc🍃test🍃def,插入mysql中,从第一个特殊字符开始,后面都直接忽略了。包括我这篇日志,改编码之前,只能显示到abc及之前的内容。后来通过base64编码的方式存入数据库解决了。 为了弄清楚原因,上网查资料发现是因为编码问题,这些Emoji表情是长度为4字节的字符,mysql的utf8默认只支持3字节。 MYSQL 5.5 之前, Continue reading

mysql客户端命令行把执行结果写到文件

在命令行运行mysql脚本的时候,有时候因为一次性执行太多行命令,或者输出太多结果,导致很多重要信息还没来得及看就已经找不到了,很不方便。 客户端工具启动时有一个选项 –tee=filename, 会记录你在客户端的所有操作记录,启动mysql工具时打开它就是了~     mysql –tee=/log/mysql.log  后面或许还要加-h -u -p等参数根据实际需求 Continue reading

使用SSDB来替代redis,解决内存占满的问题

SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库, 支持 zset(sorted set), map, kv 等数据结构, 用来替代或者与 Redis 配合存储十亿级别列表的数据. 使用SSDB的优势就是不用担心内存被暴的问题。 redis使用前期用着很爽,到后面数据量大了就各种内存被爆,转移很多功能到mongodb和mysql中,但是有些数据还是性能达不到。于是就找到了SSDB Continue reading

MongoDB数组结果查询要注意的问题

先说一下我遇到的问题,跟下面转载的问题差不多,也是关于数组查询时遇到的 如果 Collection 中有下面一些数据   当我使用查询: 结果{“x”: [“a”,”b”,”c”,””]}这条数据也被忽略了,结果数据就这么莫名其妙的丢了不少 我实际的查询条件是这样的 为 Continue reading

MongoDB命令行模式下美化find()查询结果

在命令行模式下使用 db.collection.find() 返回数据,每一条占一整行,数据大一点很难找到自己想要的数据,无意中找到了这个命令,格式化查询结果,阅读方便多了。  db.collection.find().pretty(); 在查询语句后面跟上.pretty()就可以让语句格式化,每个key-value占一行,很方便阅读。 网上还有一个一劳永逸的方法:(我自己没有测试过) 在 she Continue reading

redis php 常用方法实例

redis的操作很多的,以前看到一个比较全的博客,但是现在找不到了。查个东西搜半天,下面整理一下php处理redis的例子,个人觉得常用一些例子。下面的例子都是基于php-redis这个扩展的。 1,connect 描述:实例连接到一个Redis. 参数:host: string,port: int 返回值:BOOL 成功返回:TRUE;失败返回:FALSE 示例: 2,set 描述:设置key和 Continue reading

Redis配置文件解读

把配置项目从上到下看了一遍,有了个大致的了解,暂时还用不到一些高级的配置选项,先放在这,用到的时候再回来看。 配置文件参数说明: 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 pidfile Continue reading