Redis数据库如何快速了解并使用(详解)(第一篇)(共五篇)

Redis是什么
Redis是一个开源的数据库。底层由C语言编写、开源、支持网络、 基于内存也可持久化的日志型,高性能的key-Value数据库。
通常被称为数据结构服务器, 因为值Value的类型可以为字符串(String)、哈希(Map)、列表(list)、集合(sets)、有序集合(sorted sets)等类型。
Redis的特点是什么
1) Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启时可以再次加载使用。
2) Redis不仅仅支持key-value类型的数据,同时还支持list、set、Map、sorted sets等数据类型。
3) Redis支持数据库备份,也就是master-slave(主从)模式的数据备份。
Redis的优势是什么
1) 性能高,Redis的读写速度分别是110000次/秒 // 81000次/秒
2) 原子性,Redis的所有操作都是原子性的,Redis也支持对几个操作合并后的原子性执行
3) 丰富的特性,Redis支持publish/subscribe(发布/订阅)、通知、key过期等特性。
4) 支持丰富的数据类型的数据存储。
Redis的应用场景有哪些
1) 会话缓存(最常用)
2) 消息队列,比如支付
3) 活动排行榜或计数
4) 发布、订阅消息(消息通知)
5) 商品列表、评论列表等
Redis的安装
1) 在官网下载源.

wget http://download.redis.io/releases/redis-4.0.11.tar.gz
在这里插入图片描述
2) 解压命令为:tar -zxvf redis-4.0.11.tar.gz
在这里插入图片描述
3)进入redis目录下进行编译
在这里插入图片描述
4)安装命令为:make install
在这里插入图片描述
5)在redis的Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝到一个目录下。命令为:
mkdir /usr/redis
cp redis-server /usr/redis
cp redis-benchmark /usr/redis
cp redis-cli /usr/redis
cp redis.conf /usr/redis
在这里插入图片描述
cd /usr/redis
启动Redis服务命令为:redis-server redis.conf
在这里插入图片描述
启动后如图所示,Redis的基本信息
在这里插入图片描述
测试是否启动成功,命令为:redis-cli
在这里插入图片描述
后台启动服务端
后台启动服务,命令为:nohup redis-server &
在这里插入图片描述
启动后查看redis进程信息
在这里插入图片描述
注:Could not connect to Redis at 127.0.0.1:6379: Connection refused
停止后如需使用,需要重新启动Redis服务
退出/停止
退出Redis命令为:exit
退出客户端命令为:localhost:6379> quit
停止Redis命令为:redis-cli shutdown 待定
如何进入Redis并设置密码
进入Redis命令为:redis-cli
在这里插入图片描述
验证密码,命令为:auth 密码
在这里插入图片描述
远程连接
需要已经安装redis,可以使用redis-cli命令
命令为:redis-cli -h host -p port -a password
Redis键如何使用
查看redis-server统计信息命令为:INFO
Redis del命令的使用语法如下,del用于删除key,以及赋予key的值
首先创建key并给key赋初始值 语法为:mset key value / set key value
在这里插入图片描述在这里插入图片描述

del语法为del key / 返回值是被删除key的数量
在这里插入图片描述
删除多个key
在这里插入图片描述
Redis DUMP命令基本语法如下,该命令用于序列化给定的key,并返回被序列化得值
首先创建key并给key赋值,然后使用dump 序列化值,dump not-exists-key待定
在这里插入图片描述
Redis EXISTS命令基本语法如下,该命令用于检查给定的key是否存在
首先创建key并给key赋值,然后使用exists检查key是否存在。
exists 语法为 exists key / 若key存在返回1,不存在返回0
在这里插入图片描述
Redis Expire命令基本语法如下,该命令用于给key设置过期时间,过期后key不再可用
Expire语法为:expire key 过期时间[单位/秒]
首先创建key并给key赋值,然后使用Expire设置过期时间。如图所示:
在这里插入图片描述
Redis Expireat命令基本语法如下,该命令用于给key设置过期时间戳
[UNIX 时间戳unix timestamp]过期后key不再可用
Expireat语法为:expireat key 过期时间戳
首先创建key并给key赋值,然后使用Expireat设置过期时间戳。如图所示:
在这里插入图片描述
Redis PExpireat命令基本语法如下,该命令用于给key设置过期时间,以毫秒为单位,过期后key不再可用
PExpireat语法为:pexpireat key 过期时间[毫秒]
首先创建key并给key赋值,然后使用PExpireat设置过期。如图所示:
在这里插入图片描述
Redis Persist命令基本语法如下,该命令用于移除给key设置过期时间,使key永不过期
Persist语法为:persist key
首先创建key并给key赋值,然后使用persist设置时间永不过期。如图所示
1) 创建一个key并赋值,
2) 设置过期时间
3) 查看还剩多久过期
4) 设置key永不过期
如果返回1,移除成功。返回0,没有设置过期时间或key不存在。
5) 查看key多久过期,
在这里插入图片描述
Redis Pttl命令基本语法如下,该命令用于查询给key设置过期时间,以毫秒为单位,返回值为当前key返回的时间
Pttl语法为:pttl key
ttl语法为:ttl key
首先创建key并给key赋值,设置过期时间,然后使用Pttl查看剩余过期时间
如图所示:
在这里插入图片描述
Redis Keys命令基本语法如下,该命令用于查找给定模式[pattern]/条件的key
Keys语法为:key key* / [与模糊查询类似]
首先创建key并给key赋值,
在这里插入图片描述
然后在这里插入图片描述使用Keys查找符合条件的key。如图所示:

Redis Move命令基本语法如下,该命令用于将当前的key移动到给定的数据库当中
Keys语法为:move key 指定的数据库 / [与Linux移动文件类似]
首先查找0数据库,并创建key并给key赋值,查找0数据库,创建key并赋值,查看当前key是否存在,然后把当前key移动到1号数据库。
如果两个数据库中有相同的key,则会移动失败。
与Linux中移动文件的操作相同。
在这里插入图片描述
Redis Randomkey命令基本语法如下,该命令用于从当前数据库随机返回key
Persist语法为:randomkey
首先创建多个key并给key赋值,然后使用randomkey随机获取当前数据库的key。
如图所示:
在这里插入图片描述
Redis Rename命令基本语法如下,该命令用于修改当前key的名称
Rename语法为:rename key名称 新key名称 与Linux mv命令相同
首先创建key并给key赋值,然后使用rename为key修改名称
使用rename修改key名称,当没有当前key,会报错,如图所示
在这里插入图片描述
使用reanme修改key名称,如图所示
在这里插入图片描述
注:当rename修改key名称时,如果修改的新名字,与之前存在的key名称相同,名称修改完成后,key原来的值被替换
Redis Renamenx命令基本语法如下,该命令用于修改当前key的名称
Renamenx语法为:renamennx key名称 新key名称
注:修改key的名称,如果新名称不存在,则修改成功。新名称存在,失败后返回0,
Redis Type命令基本语法如下,该命令用于获取当前key的value值的类型
Type语法为:type key 回车后显示value的类型
如图所示
在这里插入图片描述
Redis(String)如何使用
1) set命令设置指定的值,如果有旧值就覆写,且无视类型。
语法为:set key_name value
2) get命令获取指定的key,如果不是字符串类型,返回错误码,不存在,返回nil
语法为:get key_name
3) getrange命令获取当前字符串的内容,相当于下标截取,start开始,end结束
命令为:getrange key_name start end
4) getset命令用于设置指定key的值,并返回旧的值。
命令为:getset key_name value
5) getbit 命令为对key所存储的value,获取指定偏移量上的位(bit)
命令为:getbit key_name offset 待定
6) Mget命令获取所有(一个或多个)指定的key,如果key里面有某个key不存在,返回nil
语法为:mget key_1 key_2 key_3 …
7) Setbit命令用于key所储存的字符串,设置清除指定偏移量上的位(bit)
语法为setbit key_name offset
8) Setex 命令为指定的key设置值及过期时间,如果key已存在,setex命令会将旧值替换,
语法为:setex key_name timeout value
在这里插入图片描述
9) Setnx命令为指定的key设置值,如果key不存在设置成功返回1,key存在设置失败返回0。
语法为:setnx key_name value
10) Strlen命令用于,获取指定key存储的字符串长度,当不是字符串时,返回一个错误。
语法为strlen key_name
11) Mset命令设置一个或多个key-value对。
语法为:mset key_1 value1 key_2 value2 key_3 value3…
12) MSetnx命令为多个的key_value设置值,如果有一个key存在设置成功返回0,key都不存在返回1。
语法为:Msetnx key_name1 value1 key_name1 value1 key_name1 value1
13) PSetex 命令为指定的key设置值及过期时间单位毫秒。Setex单位秒
语法为:Psetex key_name 毫秒[过期时间]value
14) Incr命令为key的value自增 1
语法为:lncr key_name
15) 1
未完待续。。。

猜你喜欢

转载自blog.csdn.net/hjmlyj/article/details/83795541