Memcached 学习笔记(一)

Memcached 学习笔记(一)

什么是Memcached?

Memcashed项目由Dango Interactive公司开发,最初为了加速LiveJournal访问速度而开发,后来成为广泛应用的开源项目。它是基于内存工作的键-值存储型的数据库。操作简单,但是能解决很多问题。在过去的几年,广泛用于互联网网站中,作为应用与数据库交互的中间层,即缓存,将一些SQL的执行结果放在内存中,在指定的时间内,执行相同的查询则直接从内存中读取,大大提升了网站的访问速度。根据存储引擎来划分,它应该是属于内存数据库。

为什么要用Memcached?

在互联网时代,在这个信息爆炸的时代,速度即体验,据统计,如果谷歌响应的速度延迟0.5秒,查询数将减少20%,如果亚马逊的响应延迟0.1秒,营业额下降1%.

Memcached有什么特点?

  • 全内存运转。它的数据从来不保存在硬盘,因此我们也称之为“临时性数据库”。如果将服务器关机,那么就预示着内存中的数据丢失。
  • 哈希方式存储。即通过“键-值”对保存到数据库。
  • 简单文本协议进行数据通信。跟其通讯的协议都比较简单,易懂。用记简单的命令就能对其进行操作。
  • 只操作字符型数据。在Memcached无论放入什么类型的数据,如字符串、整形数据、数组等,它都一视同仁,将其作为字节来处理,至于怎么解析这些数据,由应用层来处理。
  • 其它类型数据由应用解释,序列化以及反序列化。
  • 集群也由应用进行控制,采用一致性散列(哈希)算法。不同语言,都提供了不同的函数库及算法,来调度、访问Memcached。
如何安装Memcached?
在ReadHat 或者是CentOS下直接通过yum安装即可。
yum   install  memcached
如何启动Memcached?
执行以下命名启动memcached,默认端口为11211.
/etc/rc.d/init.d/memcached  start

如何测试使用Memcached?
用简单的telnet即可进行测试:
[root@localhost home]# telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
set name 0 0 10
zhangsan

STORED
get name
VALUE name 0 10
zhangsan

END
set age 0 0 2
22
STORED
get age
VALUE age 0 2
22
END

Memcached有哪些常用的命令?
  • set 命令:

set <key> <flag> <expires> <byte>

flag: 用于指定是否压缩数据,0不压缩,1压缩。

expires: 指定数据保存时间,一种方法是秒数(不能超过30天),另一种方法可以使用UNIX时间戳指定,0为有效期无限。

byte: 保存值的字节数。

  • get 命令,用于取出对应键的值:
get <key>
  • incr 命令,为指定的key的值加上一个值:
incr <key> <value>
set counter 0 0 1
1
STORED
incr counter 1
2
incr counter 2
4
get counter
VALUE counter 0 1
4
END
  • delete 命令,删除指定key的值:
delete <key>
delete counter
DELETED
get counter
END
  • append命令,在已存在的key值上新增值:
set test 0 0 4
test
STORED
append test 0 0 3
add
STORED
get test
VALUE test 0 7
testadd
END
  • flush_all命令,清空内存,删除所有的值:
get counter
VALUE counter 0 1
0
END
get test
VALUE test 0 7
testadd
END
flush_all
OK
get counter
END
get test
END



你可能感兴趣的:(memcached)