Redis基本知识
概述
Redis 是什么?
Redis(Remote Dictionary Server ),即远程字典服务
使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
免费,开源,是当下最热门的 NoSQL 技术之一。
Redis 可以做什么?
- Redis 具有可持久化的特点,可以做内存数据库。
- Redis 存取效率很高,可以用来做高速缓存。
- 用于发布订阅系统
- 地图信息分析
- 计时器,计数器(浏览量)
- 分布式锁
Redis 的特性
- 数据类型多样
- 读写速度极快
- 可持久化
- 支持集群
- 支持事务
基础指令
-
get & set 就不多说了,Redis 默认有 16 个数据库,同时默认使用的是第一个(下标为 0 )数据库,可以使用 select 进行数据库的切换。
127.0.0.1:6379> select 1 # 选用第 2 个数据库 OK 127.0.0.1:6379[1]> dbsize # 查看当前数据库的大小 (integer) 0 127.0.0.1:6379[1]> set name iron OK 127.0.0.1:6379[1]> dbsize (integer) 1 127.0.0.1:6379[2]> select 2 OK 127.0.0.1:6379[2]> dbsize (integer) 0 127.0.0.1:6379[2]> get name (nil) 127.0.0.1:6379[2]> select 1 OK 127.0.0.1:6379[1]> get name "iron"
-
查看数据库所有的 key
127.0.0.1:6379[1]> keys * 1) "name"
-
清除当前数据库
flushdb
127.0.0.1:6379[1]> set name egg OK 127.0.0.1:6379[1]> keys * 1) "name" 127.0.0.1:6379[1]> flushdb # 清除当前数据库 OK 127.0.0.1:6379[1]> keys * (empty array)
-
清除全部数据库
flushall
127.0.0.1:6379> select 0 OK 127.0.0.1:6379> set name iron OK 127.0.0.1:6379> keys * 1) "name" 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> flushall # 清除全部数据库,执行完命令后, 0 号数据库数据为空 OK 127.0.0.1:6379[1]> select 0 OK 127.0.0.1:6379> keys * (empty array)
-
设置过期时间以及查看过期时间
127.0.0.1:6379> set name iron OK 127.0.0.1:6379> expire name 12 # 设置过期时间,单位 秒 (integer) 1 127.0.0.1:6379> ttl name # 查看 name 的剩余有效时间 (integer) 9 127.0.0.1:6379> ttl name (integer) 7 127.0.0.1:6379> ttl name (integer) 5 127.0.0.1:6379> ttl name # 当返回 -2 时,表示 key 已失效 (integer) -2 127.0.0.1:6379> ttl age # 对于没有创建的 key , ttl 返回也是 -2 (integer) -2
-
查看当前 key 的类型
127.0.0.1:6379> set name iron OK 127.0.0.1:6379> type name string