目录
Redis介绍
可以用作key - value 键值对数据库 、 缓存 、 消息中间件MQ
启动redis 并连接
redis-server redis-config/redis.conf
redis-cli -p 6379
再开一台服务器检查是否启动成功
benchmark 压力测试工具
是官方自带的性能测试工具
可见redis是真滴快!
Redis
Redis有16个数据库,默认是第0个
默认端口号是6379 因为redis作者的偶像名字在手机9键打出来是6379
select 切换数据库 DBSIZE 查看DB大小
set key value
get 根据key读取value的值
keys * 查看数据库中所有的key
flushdb 清空当前库的内容
FLUSHALL 清空所有库的内容
Redis-key常用命令集合
127.0.0.1:6379> ping #查看当前连接是否正常,正常返回PONG
PONG
127.0.0.1:6379> clear #清楚当前控制台(为了更好的看到下面输入的命令)
127.0.0.1:6379> keys * #查看当前库里所有的key
1) "db"
127.0.0.1:6379> FLUSHALL #清空所有库的内容
OK
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> set name dingdada #添加一个key为‘name’ value为‘dingdada’的数据
OK
127.0.0.1:6379> get name #查询key为‘name’的value值
"dingdada"
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> set name1 dingdada2
OK
127.0.0.1:6379> get name1
"dingdada2"
127.0.0.1:6379> keys * #查看当前库里所有的key
1) "name1"
2) "name"
127.0.0.1:6379> EXISTS name #判断当前key是否存在
(integer) 1
127.0.0.1:6379> move name 1 #移除当前库1的key为‘name‘的数据
(integer) 1
127.0.0.1:6379> keys *
1) "name1"
127.0.0.1:6379> FLUSHALL #再次清空所有库的内容
OK
## 多加几条数据 下面测试设置key的过期时间
127.0.0.1:6379> set name dingdada
OK
127.0.0.1:6379> set name1 dingdada1
OK
127.0.0.1:6379> set name2 dingdada2
OK
127.0.0.1:6379> EXPIRE name 15 #设置key为’name‘的数据过期时间为15秒 单位seconds
(integer) 1
127.0.0.1:6379> ttl name #查看当前key为’name‘的剩余生命周期时间
(integer) 13
127.0.0.1:6379> ttl name
(integer) 12
127.0.0.1:6379> ttl name
(integer) 11
127.0.0.1:6379> ttl name
(integer) 8
127.0.0.1:6379> ttl name
(integer) 6
127.0.0.1:6379> ttl name
(integer) 3
127.0.0.1:6379> ttl name
(integer) 2
127.0.0.1:6379> ttl name
(integer) 1
127.0.0.1:6379> ttl name
(integer) 0
127.0.0.1:6379> ttl name #如若返回-2,证明key已过期
(integer) -2
127.0.0.1:6379> get name #再次查询即为空
(nil)
127.0.0.1:6379> type name1
string
127.0.0.1:6379>
单点登录:设置过期时间
Redis是单线程的
Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程,所以就使用了单线程。
Redis为什么单线程还这么快?
速度 CPU>内存>硬盘
核心:redis是将所有的数据放在内存中的,所以说使用单线程去操作效率就是最高的,多线程的话CPU会上下文切换 这是耗时的操作,对于内存系统来说,没有上下文切换效率就是最高的。多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的。
Redis的五大数据类型
Redis(一)入门:五大数据类型的学习和理解①_大鱼等于负的博客-CSDN博客
1.String
设value
自增自减 指定增减量
字符串范围range 截取GETRANGE
替换 SETRANGE
setex 设置过期时间 setnx不存在再设置
mset mget同时设置 获取多个值
set 高阶用法
getset 先get然后再set
使用场景
2.List
3.Set
4.Hash
5.Zset
三种特殊的数据类型
geospatial 地理位置空间
hyperloglog
bitmaps