1、是完全开源免费的,用C语言编写的,遵守BSD协议,
是一个高性能的(key/value)分布式内存数据库,基于内存运行
并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,
也被人们称为数据结构服务器
2、Redis与其他key-value缓存产品有以下3大特点:
(1)Redis支持数据的持久化,可以将内存中的数据保存到磁盘中,重启的时候可以再次加载;
(2)Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
(3)Redis支持数据的备份,即master-slave模式的数据备份
3、Redis的五大数据类型:
String(字符串)
Hash(哈希,类似java里的Map)
List(列表)
Set(集合)
Zset(sorted set:有序集合)
4、哪里去获得redis常见数据类型操作命令
Http://redisdoc.com/
5、持久化:
(1)、rdb
Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到
一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。
整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能
如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方
式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。
(2)aof
以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),
只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis
重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作
rdb文件和aof可以同时存在,不过启动的时候先执行aof文件的回复
aof文件有问题可以恢复:redis-check-aof.exe ***aof
rdb存的是数据 aof存的是操作
常用命令:
1、登陆密码的设置 在redis.conf 配置文件增加 requirepass ****
在客户端界面查询config get requirepass 获取密码
config set requirepass ***设置密码
通过密码登陆:redis-cli.exe -a *** 或
redis-cli.exe
auth ***
2、获取redis安装目录:
config get dir //
3、save命令用于创建当前数据库的备份。该命令将在 redis 安装目录中创建dump.rdb文件。
redis一般平均每秒15万次的密码设置
3、主从复制:
一个master开链接多个slave
一个slave可以和其他slave相连,这样当master主机当掉之后,slave从机就会作为主机,与其他slave同步
配置只要在从机redis.conf修改:
# slaveof <masterip> <masterport>//对应主机ip/port
# masterauth <master-password>//对应主机的密码
原理:当从机与主机连接时,发送sync同步命令 ,主机会启动一个后台进程将数据快照写到文件中,同时主进程收集新的写的命令并缓存,后台保存后再将文件推送给从机
multi开启事务 将数据先存到queue队列中,执行exec表示提交,discard表示回滚
事务中某一个队列 出错,不会全部回滚,队列中的其他的值还是有效,,所以redis的事务还是有待改进
watch命令是对某个键 加乐观锁,watch key 后 如果key在别的session被修改,此时在当前session中multi set exec不成功,
发布、订阅:
订阅监听:subscribe tv1 tv2
发布:publish tv1 aa