这几天自己在linux上面安装了个redis,把redis的基本语法大概的过了一遍。感受一下redis的独特魅力。
大概的记录一下。
1.原来redis 默认划分为16个逻辑数据库(0-15). 语法:select (index) 可以用来切换数据库。这16个数据库的数据是分离的 不是共享的。
运用 move key db 可以 将某个key 移动到指定的redis 数据库中。
2.redis 的事务,redis事务的不一致性的特点.在真正的产品环境中,要特别注意Redis事务的这个特点,或者说是弊端,不能保证数据的一致性。
3.redis 的持久化有两种:
a:第一种方法filesnapshotting(rdb)默认redis是会以快照的形式将数据持久化到磁盘的(一个二进制文件,dump.rdb,这个文件名字可以指定)。在redis.config 文件中 save N(秒数) M(改变的个数)。默认 save 900 1 save 300 30 save 60 10000 ;之前一直不知道这个是啥意思原来表示:表示在N秒之内,redis至少发生M次修改,redis才生成快照并持久化到磁盘。
b:第二种方法是Append-only-file(aof):Append-only方法可以做到全部数据不丢失,但redis的性能就要差些。AOF就可以做到全程持久化,只需要在配置文件中开启,默认是不打开AOF功能的(appendonly no),appendonly yes开启AOF之后,redis每执行一个修改数据的命令,都会把它添加到aof文件中,当redis重启时,将会读取AOF文件进行“重放”以恢复到redis关闭前的最后时刻。
appendfsync有三个选项:always、everysec和no:
1、always:服务器会在每执行一个事件就把AOF缓冲区的内容强制性的写入硬盘上的AOF文件里,可以看成你每执行一个redis写入命令就往AOF文件里记录这条命令,这保证了数据持久化的完整性,但效率是最慢的,却也是最安全的;
2、everysec:服务端每执行一次写操作也会把该条命令追加到一个单独的AOF缓冲区的末尾,并将AOF缓冲区写入AOF文件,然后每隔一秒才会进行一次文件同步把内存缓冲区里的AOF缓存数据真正写入AOF文件里,这个模式兼顾了效率的同时也保证了数据的完整性,即使在服务器宕机也只会丢失一秒内对redis数据库做的修改;
3、no:你完全可以接受Redis数据的丢失,它虽然也会把每条写命令追加到AOF缓冲区的末尾,然后写入文件,但什么时候进行文件同步真正把数据写入AOF文件里则由系统自身决定,即当内存缓冲区的空间被填满或者是超过了设定的时限后系统自动同步。这种模式下效率是最快的,但对数据来说也是最不安全的,如果redis里的数据都是从后台数据库如mysql中取出来的,属于随时可以找回或者不重要的数据,那么可以考虑设置成这种模式。