学习redis经常使用命令

1.开启服务和客户端

 

image-20200723232544524

 

如何查看redis进程?java

第一种git

 

image-20200723232951677

 

第二种redis

 

image-20200723233027748

2.基础知识

redis有16个数据库,依次索引为0~15数据库

默认是第一个数据库,也就是索引为0服务器

怎么知道的呢?去查看 redis-config 配置文件网络

 

image-20200723233501769

 

那么若是想切换数据库,怎么办呢?多线程

使用select 索引数字app

 

image-20200723233833615

 

怎么查看数据库的大小呢?性能

使用dbsize大数据

 

image-20200723234518281

 

注:flushall 清空全部数据库的数据

flushdb 清空当前数据库

keys * 查看当前数据库全部的key

 

redis是单线程仍是多线程?

是单线程!!

redis是基于内存操做,CPU不是redis性能瓶颈,redis的性能瓶颈是根据机器的内存和网络带宽,既然可使用单线程来实现,就使用单线程了!

redis 是C语言写的,官方提供的数据为十万+的QPS,彻底不比一样是使用key-value的Memecache差!

redis单线程为何还那么快?

误区1:高性能的服务器必定是多线程的?

误区2:多线程(CPU上下文会切换)必定比单线程效率高?

先要了解 CPU>内存>硬盘的速度

核心:redis是将全部的数据所有放在内存中的,因此说使用单线程去操做效果是最高的,多线程(CPU上下文会切换:耗时的操做!!!),对于内存系统来讲,没有上下文切换,效率就是最高的!屡次读写都是在一个CPU上的,在内存状况下,这个就是最佳的方案!

 

 

3.五大数据类型

1.redis-key

 

image-20200724000851636

 

设置key的过时时间(秒)

 

image-20200724001506642

怎么查看key值类型?

type key

怎么把当前数据库的key 移动到 别的数据库?

move key 数据库索引数字

 

image-20200724002248055

 

2.String

若是想在type类型为String的value后面追加字符串,该怎么办呢?

使用 append key 想追加的字符串

 

image-20200724183842937

 

若是想看看value的长度呢?

使用 strlen key

 

image-20200724184049527

 

文章的浏览量或者视频的播放量,若是用redis怎么实现呢?

至关于实现自增 value++

使用 incr key

 

image-20200724230931144

 

同理 自减 就使用 decr key

 

那么若是是想实现步长(指定增量)呢?

至关于实现 value+= value -=

使用 incrby key 步长数字

decrby key 步长数字

 

image-20200724231624292

 

那么若是想获得字符串的某部分呢?

也就是截取,至关于java的字符串的substring()方法

使用getrange key 开始索引数字 结束索引数字

 

image-20200724233533580

 

若是想替换字符串的某部分呢?

使用setrange key 开始索引数字

 

image-20200724234147474

相关文章
相关标签/搜索