目录
1.redis介绍
2.redis常用命令(可以在官网的命令中查看redis的所有命令)
2.1终端命令
2.2 redis通用命令
1.redis介绍
redis即远程字典服务,是当下最热门的NoSQL(非关系型数据库)技术之一,采用KV键值对的数据结构存储数据,也被称之为结构化数据库。Redis会周期性地将更新的数据写入磁盘并将更新操作写入追加的记录文件,并在此基础上实现了主从同步。Redis是基于内存存储的,能够实现持久化,并且效率高,支持多种语言和多种数据类型,同时也支持集群、事务等。
redis支持五种基本数据类型String、Set、Zset、Hash、List以及三种特殊类型Bitmaps、HyperLogLog、Geospatial。
redis之所以速度快是因为采用C语言编写的,基于内存操作且是单线程的,相较于多线程而言省去了上下文切换的过程,这个过程是非常耗时的。由于redis基于内存操作,所以CPU不是redis的瓶颈,机器的内存和网络带宽才是。
2.redis常用命令(可以在官网的命令中查看redis的所有命令)
2.1终端命令
- redis-server redis.conf
使用redis.conf配置文件打开服务器,需要在redis.conf目录下执行,在其他目录下开启服务器需要使用相对路径或绝对路径。也可以使用自己配置的redis的配置文件。
- redis-cli -p 6379
与服务器建立连接,6379为redis的默认端口号。
- ps -ef|grep redis
查看redis的进程是否开启,如果开启了redis就能够看到redis的进程。
- redis-benchmark
用于redis的压力测试,以下是压力测试可能用到的一些参数:
例:使用本机进行压力测试,采用2个并发连接,每个连接进行2次请求:
2.2 redis通用命令
先加入数据方便演示:
- keys *
获取所有的key。
- keys key
获取指定的key,可用来查看是否存在指定键值对;或者使用exists key查看是否存在。
- shutdown
关闭服务器。
- exit
退出到终端。
- select 编号
切换数据库,可以在不同数据库存储不同的信息进行分类;默认有16个数据库,编号从0开始。
- dbsize
查看当前数据库存储的信息数量。
- flushdb
清空当前数据库中的所有信息。
- flushall
清空所有数据库中的所有信息。
- move key 序号
将指定键值对信息移到指定序号的数据库中。
- del key
删除指定键值对,当删除多个键值对时可以在del后面加上多个key,每个key之间用空格分开。
- expire key time
设置指定键值对的过期时间,单位为秒,过期后该键值对就会消失。
- ttl key
查看指定键值对还有多长时间过期,单位为秒,当返回-1时代表没有设置过期时间,当返回-2时代表已经过期。
- type key
查看key对应的value的类型。
- watch key1 key2 ...
用于事务中,监视某些对象是否在入队后进行了修改,如果在exec命令执行前未进行修改说明监视成功,如果有其他客户端进行了修改,那么表示监视失败,并且在执行exec命令后事务中的所有命令不会被执行;无论是否监视成功,事务在执行exec或者discard命令后监视器自动失效。(比如对name进行监视,在客户端1有一个事务,包含了get命令,但是在执行exec之前另一客户端修改了name的值并成功执行,此时就会监测到name的值被修改,那么在执行exec命令后事务不会去执行)可以使用unwatch命令手动解除所有的监视器。(会在事务章节演示)