Redis知识介绍

系列文章目录

Redis常用指令整理



前言

上一篇文章整理了Redis的安装,下面整理Redis的基本操作指令。


一.常用指令介绍

1.redis启动

本地启动

redis-cli

远程启动
redis-cli -h host -p port -a password

redis-cli -h 192.168.130.145 -p 6379 -a 123456

2.清空key

清空当前数据库所有keys:

flushdb

清空所有数据库keys

flushall

3.对key的操作

查询所有keys:

keys *

查询以某个字段开始的keys,如查询以pre开头的keys

keys  pre*

判断某个key是否存在,exists key名,如判读名为name的key是否存在,存在返回1,不存在返回0.

127.0.0.1:6379> exists name
(integer) 1

设置key 和value,如设置key为name,value为Fiona

127.0.0.1:6379> set name Fiona
OK

获取key值,如获取上述指令key为name 的值

127.0.0.1:6379> get name 
Fiona

查看key的数据类型,如查看name的数据类型

127.0.0.1:6379> type name
string

重命名key,如将key值为name的key重命名为newname

127.0.0.1:6379> rename name newname
OK

查看当前数据库,key值的个数

127.0.0.1:6379> dbsize
(integer) 1

删除key,如删除newname

127.0.0.1:6379> del newname
(integer) 1

4.对value的操作

String字符串的操作

向尾部追加值,append key value,如下是向key值为test的value里添加“def”

127.0.0.1:6379> set test abc
OK
127.0.0.1:6379> get test
"abc"
127.0.0.1:6379> append test def
(integer) 6
127.0.0.1:6379> get test
"abcdef"

获取value的长度,strlen key

127.0.0.1:6379> strlen test
(integer) 6

同时创建多个key value对,mset key1 value1 key2 value2 key3 value3 …
对应的同时查看多个keys对应的value值,用mget key1 key2 key3…
实例如下:

127.0.0.1:6379> mset test1 abc test2 def  test3 ghi
OK
127.0.0.1:6379> mget test1 test2 test3
1) "abc"
2) "def"
3) "ghi"

List列表的操作

创建key和对应的value,rpush key value,注意:rpush是向右插入value,即顺序创建value.
实例如下:
llen key 查看key 对应的value 的长度
lrange key start stop 用来查看key对应位置的value值,0表示首个元素,-1代表最后一个元素。
lindex key index,获取列表对应位置的value

127.0.0.1:6379> rpush list1 1 2 3 4
(integer) 4
127.0.0.1:6379> rpush list1 567
(integer) 5
127.0.0.1:6379> llen list1
(integer) 5
127.0.0.1:6379> lrange list1 0 -1
1) "1"
2) "2"
3) "3"
4) "4"
5) "567"
127.0.0.1:6379> lindex list1 1
"2"

lpush向列表的左部插入value,与rpush相反。

127.0.0.1:6379> strlen test
(integer) 6

同时创建多个key value对,mset key1 value1 key2 value2 key3 value3 …
对应的同时查看多个keys对应的value值,用mget key1 key2 key3…
实例如下:

127.0.0.1:6379> mset test1 abc test2 def  test3 ghi
OK
127.0.0.1:6379> mget test1 test2 test3
1) "abc"
2) "def"
3) "ghi"

Set集合和ZSet集合的操作
无序集合添加元素 sadd key value

127.0.0.1:6379> sadd  name "zhangsan" "wangwu" "zhaoliu"
(integer) 3

显示无序集合的元素 smembers key

127.0.0.1:6379> smembers name
1) "zhaoliu"
2) "wangwu"
3) "zhangsan"

随机获取无序集合的元素,srandmember key

127.0.0.1:6379> srandmember name
"zhaoliu"
127.0.0.1:6379> srandmember name
"zhangsan"
127.0.0.1:6379> srandmember name
"zhangsan"

创建另外一个集合name1

127.0.0.1:6379> sadd name1 "jack" "fiona" "sara" "zhangsan"
(integer) 4

求name 和name1两个无序集合的交集sinter key1 key2…

127.0.0.1:6379> sinter name name1
1) "zhangsan"

求name 和name1两个无序集合的并集
sunion key1 key2…

127.0.0.1:6379> sunion name name1
1) "zhangsan"
2) "wangwu"
3) "zhaoliu"
4) "sara"
5) "fiona"
6) "jack"

求name 和name1两个无序集合的差集
sdiff key1 key2…

127.0.0.1:6379> sdiff name name1
1) "wangwu"
2) "zhaoliu"
127.0.0.1:6379> sdiff name1 name
1) "fiona"
2) "jack"
3) "sara"

注意:key1,key2的位置不同,得出的结果不同,原理数据库的差集

有序集合添加元素
zadd key score number1 score2 number2 score3 number3…
score 是作为权重,对集合进行排序的。
用zrange key start_index stop_index来对有序集合进行输出

127.0.0.1:6379> zadd name3 10 "huahua" 20 "xiaoming" 30 "zhangsan" 5 "xiaohong"
(integer) 4
127.0.0.1:6379> zrange name3 0  -1
1) "xiaohong"
2) "huahua"
3) "xiaoming"
4) "zhangsan"
查看元素格式,用zcard key
127.0.0.1:6379> zcard name3
(integer) 4

哈希操作
创建hash表,指令hset key filed value
如创建name为zhangsan,age为22的hash1
查看value 用hget key filed

127.0.0.1:6379> hset hash1 name zhangsan age 22
(integer) 2
127.0.0.1:6379> hget hash1 name
"zhangsan"
127.0.0.1:6379> hget hash1 age
"22"

5.设置key的时效性

Redis是具有时效性的,如何设置缓存时效,利用指令expire key second进行设置。
下面创建一个firstname的key,设置时效为100s

127.0.0.1:6379> set firstname "huahua"
OK
127.0.0.1:6379> keys *
 1) "test"
 2) "test2"
 3) "test1"
 4) "newname"
 5) "name2"
 6) "name1"
 7) "hash1"
 8) "test3"
 9) "name"
10) "name3"
11) "firstname"
127.0.0.1:6379> expire firstname 100
(integer) 1

查看还需要多久key值失效,用指令tll key

127.0.0.1:6379> ttl firstname
(integer) 89

100s后进行查看,发现firstname这个key不存在了。

127.0.0.1:6379> keys *
 1) "test"
 2) "test2"
 3) "test1"
 4) "newname"
 5) "name2"
 6) "name1"
 7) "hash1"
 8) "test3"
 9) "name"
10) "name3"

6.Redis安全认证

查看Redis是否设置了密码,用config get requirepass,为空表示未设置密码

127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""

设置密码,用config set requirepass "密码“

127.0.0.1:6379> config set requirepass "test"
OK
127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.

验证密码是否正确,auth password

127.0.0.1:6379> auth test
OK

密码删除,将密码设置为空即可。

127.0.0.1:6379> config set requirepass " "
OK
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) " "

7.Redis数据备份与恢复

Redis数据备份用指令save,这个命令在redis安装目录下自动创建dump.rbd文件

127.0.0.1:6379> save
OK

数据恢复,将dump.rbd文件移动到Redis安装目录下,启动服务即可。获取Redis目录可以用指令config get dir

127.0.0.1:6379> config get dir
1) "dir"
2) "C:\\Users\\86186\\Downloads\\Redis-x64-5.0.10"

总结

本文主要介绍了Redis的基本操作,后续会介绍归纳Redis性能特性方面的知识。
Redis作为当今很流行的数据库,连软考高项系统架构师都多次考到Redis相关知识,可见掌握Redis是非常重要的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值