Redis 启动 五大数据类型

目录

Redis介绍

启动redis 并连接

benchmark 压力测试工具

Redis

 select  切换数据库          DBSIZE  查看DB大小

set key value

keys  * 查看数据库中所有的key

​编辑

flushdb  清空当前库的内容

 FLUSHALL   清空所有库的内容

 Redis-key常用命令集合

Redis是单线程的

Redis为什么单线程还这么快?

Redis的五大数据类型

1.String

设value

​编辑

 自增自减 指定增减量

 字符串范围range  截取GETRANGE

替换 SETRANGE

 

 setex 设置过期时间      setnx不存在再设置

 mset mget同时设置 获取多个值​编辑

 set 高阶用法

​编辑

getset  先get然后再set

​编辑

使用场景

2.List

3.Set

4.Hash

5.Zset

三种特殊的数据类型


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


版权声明:本文为m0_56017821原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。