Redis.phpline55(PHP redis)
php如何解决redis的存取乱码问题
php文件的编码格式:
header("charset=utf-8");
在存储前,先把存储的字符串转码。
$string = iconv('UTF-8','GBK',$string);
这时候存储在redis中的中文就是GBK字符集的,读取的时候不是乱码了。
原理是window大部分系统上支持GBK字符集。
php redis如何使用
开始在
PHP
中使用
Redis
前,要确保已经安装了
redis
服务及
PHP
redis
驱动,且你的机器上能正常使用
PHP。
PHP安装redis扩展
/usr/local/php/bin/phpize
#php安装后的路径
./configure
--with-php-config=/usr/local/php/bin/php-config
make
make
install
修改php.ini文件
vi
/usr/local/php/lib/php.ini
增加如下内容:
extension_dir
=
"/usr/local/php/lib/php/extensions/no-debug-zts-20090626"
extension=redis.so
安装完成后重启php-fpm
或
apache。查看phpinfo信息,就能看到redis扩展。
连接到
redis
服务
?php
//连接本地的
Redis
服务
$redis
=
new
Redis();
$redis-connect('127.0.0.1',
6379);
echo
"Connection
to
server
sucessfully";
//查看服务是否运行
echo
"Server
is
running:
"
.
$redis-ping();
?
执行脚本,输出结果为:
Connection
to
server
sucessfully
Server
is
running:
PONG
Redis
PHP
String(字符串)
实例
?php
//连接本地的
Redis
服务
$redis
=
new
Redis();
$redis-connect('127.0.0.1',
6379);
echo
"Connection
to
server
sucessfully";
//设置
redis
字符串数据
$redis-set("tutorial-name",
"Redis
tutorial");
//
获取存储的数据并输出
echo
"Stored
string
in
redis::
"
.
jedis.get("tutorial-name");
?
执行脚本,输出结果为:
Connection
to
server
sucessfully
Stored
string
in
redis::
Redis
tutorial
Redis
PHP
List(列表)
实例
?php
//连接本地的
Redis
服务
$redis
=
new
Redis();
$redis-connect('127.0.0.1',
6379);
echo
"Connection
to
server
sucessfully";
//存储数据到列表中
$redis-lpush("tutorial-list",
"Redis");
$redis-lpush("tutorial-list",
"Mongodb");
$redis-lpush("tutorial-list",
"Mysql");
//
获取存储的数据并输出
$arList
=
$redis-lrange("tutorial-list",
,5);
echo
"Stored
string
in
redis::
"
print_r($arList);
?
执行脚本,输出结果为:
Connection
to
server
sucessfully
Stored
string
in
redis::
Redis
Mongodb
Mysql
Redis
PHP
Keys
实例
?php
//连接本地的
Redis
服务
$redis
=
new
Redis();
$redis-connect('127.0.0.1',
6379);
echo
"Connection
to
server
sucessfully";
//
获取数据并输出
$arList
=
$redis-keys("*");
echo
"Stored
keys
in
redis::
"
print_r($arList);
?
执行脚本,输出结果为:
Connection
to
server
sucessfully
Stored
string
in
redis::
tutorial-name
tutorial-list
Fatal error: Uncaught exception 'RedisException' with message 'Redis server went away' in
你安装了redis么?光有扩展,没有安装redis服务也不行 确认你要链接的redis已经开启,防火墙端口已经打开
关于php redis的问题 hash结构
*nix系系统:
ES(Unix)
例子: IvS7aeT4NzQPM
说明:Linux或者其他linux内核系统中
长度: 13 个字符
描述:第1、2位为salt,例子中的'Iv'位salt,后面的为hash值
系统:MD5(Unix)
例子:$1$12345678$XM4P3PrKBgKNnTaqG9P0T/
说明:Linux或者其他linux内核系统中
长度:34个字符
描述:开始的$1$位为加密标志,后面8位12345678为加密使用的salt,后面的为hash
加密算法:2000次循环调用MD5加密
系统:SHA-512(Unix)
例子:$6$12345678$U6Yv5E1lWn6mEESzKen42o6rbEm
说明:Linux或者其他linux内核系统中
长度: 13 个字符
描述:开始的$6$位为加密标志,后面8位为salt,后面的为hash
加密算法:5000次的SHA-512加密
系统:SHA-256(Unix)
例子:$5$12345678$jBWLgeYZbSvREnuBr5s3gp13vqi
说明:Linux或者其他linux内核系统中
长度: 55 个字符
描述:开始的$5$位为加密标志,后面8位为salt,后面的为hash
加密算法:5000次的SHA-256加密
系统:MD5(APR)
例子:$apr1$12345678$auQSX8Mvzt.tdBi4y6Xgj.
说明:Linux或者其他linux内核系统中
长度:37个字符
描述:开始的$apr1$位为加密标志,后面8位为salt,后面的为hash
加密算法:2000次循环调用MD5加密
windows系统:
windows
例子:Admin:b474d48cdfc4974d86ef4d24904cdd91
长度:98个字符
加密算法:MD4(MD4(Unicode($pass)).Unicode(strtolower($username)))
mysql
系统:mysql
例子:606717496665bcba
说明:老版本的MySql中
长度:8字节(16个字符)
说明:包括两个字节,且每个字的值不超过0x7fffffff
系统:MySQL5
例子:*E6CC90B878B948C35E92B003C792C46C58C4AF40
说明:较新版本的MySQL
长度:20字节(40位)
加密算法:SHA-1(SHA-1($pass))
其他系统:
系统:MD5(WordPress)
例子:$P$B123456780BhGFYSlUqGyE6ErKErL01
说明:WordPress使用的md5
长度:34个字符
描述:$P$表示加密类型,然后跟着一位字符,经常是字符‘B’,后面是8位salt,后面是就是hash
加密算法:8192次md5循环加密
系统:MD5(phpBB3)
说明:phpBB 3.x.x.使用
例子:$H$9123456785DAERgALpsri.D9z3ht120
长度:34个字符
描述:开始的$H$为加密标志,后面跟着一个字符,一般的都是字符‘9’,然后是8位salt,然后是hash 值
加密算法:2048次循环调用MD5加密
系统:RAdmin v2.x
说明:Remote Administrator v2.x版本中
例子:5e32cceaafed5cc80866737dfb212d7f
长度:16字节(32个字符)
加密算法:字符用0填充到100字节后,将填充过后的字符经过md5加密得到(32位值)
md5加密
标准MD5
例子:c4ca4238a0b923820dcc509a6f75849b
使用范围:phpBB v2.x, Joomla 的 1.0.13版本前,及其他cmd
长度:16个字符
其他的加salt及变形类似:
md5($salt.$pass)
例子:f190ce9ac8445d249747cab7be43f7d5:12
md5(md5($pass))
例子:28c8edde3d61a0411511d3b1866f0636
md5(md5($pass).$salt)
例子:6011527690eddca23580955c216b1fd2:wQ6
md5(md5($salt).md5($pass))
例子: 81f87275dd805aa018df8befe09fe9f8:wH6_S
md5(md5($salt).$pass)
例子: 816a14db44578f516cbaef25bd8d8296:1234