Lion

L->O->S

PHP Python developer


享受互联网带来的改变,接收新事物带来的洗礼

redis

redis

  • redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和hash(哈希)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

    持久化的几种方式

  • rdb,快照,是默认的持久化方式。这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。可以通过配置设置自动做快照持久化的方式。我们可以==配置redis在n秒内如果超过m个key被修改就自动做快照==。每次快照持久化都是将内存数据完整写入到磁盘一次,并不是增量的只同步脏数据。如果数据量大的话,而且写操作比较多,必然会引起大量的磁盘io操作,可能会严重影响性能。可以手动 save(同步) 或者 bgsave(异步) 持久化。
save 900 1  #900秒内如果超过1个key被修改,则发起快照保存
save 300 10 #300秒内容如超过10个key被修改,则发起快照保存
save 60 10000
  • aof,Append-only file,比快照方式有更好的持久化性,是由于在使用aof持久化方式时,redis会将每一个收到的写命令都通过write函数追加到文件中(默认是appendonly.aof)。当redis重启时会通过重新执行文件中保存的写命令来在内存中重建整个数据库的内容。
appendonly yes           #启用aof持久化方式
# appendfsync always   #每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用
appendfsync everysec     #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐
# appendfsync no    #完全依赖os,性能最好,持久化没保证
最近的文章

Http

Request Headers Accept,浏览器端可以接受的媒体类型 text/html代表浏览器可以接受服务器回发的类型为 text/html也就是我们常说的html文档,如果服务器无法返回text/html类型的数据,服务器应该返回一个406错误(non acceptable) */*代表浏览器可以处理所有类型,(一般浏览器发给服务器都是发这个) Accept-Encoding,浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩...…

继续阅读
更早的文章

memcached

memcached brew install memcached mac安装 brew services start memcached 启动 brew services stop memcached 关闭 telnet localhost 11211 连接memcached 命令参数 参数 用法 key key flags 键值外的信息,32位 ...…

继续阅读