2.8 验证
cat > redis.php 《 EOF
<?php
$redis = new Redis();
$redis->connect('10.0.100.70',6379);
$redis->set('foo', 'Hello world');
echo $redis->get('foo');
?>
EOF
$ php redis.php
Hello world$
3 redis 定义
http://zh.wikipedia.org/wiki/Redis
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持。
数据模型
除了常规的数值或字符串,redis的键值还可以是以下形式之一:
Lists (列表)
Sets (集合)
Sorted sets (有序集合)
Hashes (哈希表)
持久化
通常,Redis将数据存储于内存中,或被配置为使用虚拟内存。通过两种方式可以实现数据持久化:使用快照的方式,将内存中的数据不断写入磁盘;或使用类似MySQL的日志方式,记录每次更新的日志。前者性能较高,但是可能会引起一定程度的数据丢失;后者相反。
主从同步
Redis支持将数据同步到多台从库上,这种特性对提高读取性能非常有益。
性能
相比需要依赖磁盘记录每个更新的数据库,基于内存的特性无疑给Redis带来了非常优秀的性能。读写操作之间有显着的性能差异。
提供API的语言:
C/C++/C#/Clojure/Common Lisp/Erlang/Haskell/Java/Javascript/Lua/Objective-C/Perl/PHP/Python/Ruby/Scala/Go/Tcl
4 redis-cli 命令
连接操作相关的命令
quit:关闭连接(connection)
auth:简单密码认证
持久化
save:将数据同步保存到磁盘
bgsave:将数据异步保存到磁盘
lastsave:返回上次成功将数据保存到磁盘的Unix时戳
shundown:将数据同步保存到磁盘,然后关闭服务
远程服务控制
info:提供服务器的信息和统计
monitor:实时转储收到的请求
slaveof:改变复制策略设置
config:在运行时配置Redis服务器
对value操作的命令
exists(key):确认一个key是否存在
del(key):删除一个key
type(key):返回值的类型
keys(pattern):返回满足给定pattern的所有key
randomkey:随机返回key空间的一个key
rename(oldname, newname):将key由oldname重命名为newname,若newname存在则删除newname表示的key
dbsize:返回当前数据库中key的数目
expire:设定一个key的活动时间(s)
ttl:获得一个key的活动时间
select(index):按索引查询
move(key, dbindex):将当前数据库中的key转移到有dbindex索引的数据库
flushdb:删除当前选择数据库中的所有key
flushall:删除所有数据库中的所有key