1、Redis是什么?
(1)Redis:REmote DIctionary Server(远程字典服务器)
(2)开源免费、用C语言编写;是一个高性能的(key/value)分布式内存数据库,基于内存运行,并支持持久化的NOSQL数据库
(3)Redis与其他key-value缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启时可以再次加载进行使用
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list、set、zset、hash等数据结构的存储
- Redis支持数据的备份,即master-slave模式的数据备份
2、Redis能干嘛?
- 内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
- 取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的list中
- 模拟类似于HttpSession这种需要设定过期时间的功能
- 发布、订阅消息系统
- 定时器、计时器
3、Redis启动后杂项基础知识讲解
(1)默认16个数据库,类似于数据下标从0开始,初始默认使用0号库 配置文件中:databases 16 并且是从0开始
C:\Users\Administrator>redis-cli
127.0.0.1:6379> ping
PONG #注:返回PONG,表明redis已经启动
127.0.0.1:6379> set k1 hello
OK
127.0.0.1:6379> get k1
"hello" #注:设置简单的键值对,k1对应hello
127.0.0.1:6379> select 7
OK
127.0.0.1:6379[7]> get k1 #到第8个数据库中去找k1,找不到
(nil)
127.0.0.1:6379[7]> select 0 #切换回原始第一个数据库,能够找到k1
OK
127.0.0.1:6379> get k1
"hello"
127.0.0.1:6379>
127.0.0.1:6379> shutdown
not connected> exit #注:关闭redis服务
(2)select命令切换数据库
(3)Dbsize查看当前数据库的key的数量 key *得到当前数据库中的所有key
127.0.0.1:6379> Dbsize
(integer) 3
127.0.0.1:6379> keys * #得到当前数据库中所有的key
1) "k1"
2) "key:__rand_int__"
3) "counter:__rand_int__"
(4)FLUSHALL清除16个数据库中的所有Key(即清除所有数据) FLUSHDB 清除当前数据库中的所有Key(即清除当前数据库的所有数据)
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> keys *
(empty list or set)
(5)统一密码管理,16个库都是相同密码,要么都OK,要么都连不上
(6)Redis索引都是从0开始
(7)默认端口是6379