初识Redis

本文介绍了Redis的基本概念,如其作为内存型数据库的高性能特性,丰富的数据类型,以及数据持久化方式。同时,文章详细列举了Redis的一些常用操作命令,包括连接数据库、选择和操作数据库、键的管理以及不同类型数据的操作指令,为读者提供了一个快速入门Redis的参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文的核心内容:了解Redis的特点、Redis的基本指令、Redis的基本数据类型与指令操作。


 

一:什么是Redis

    Redis 是一个开源免费的基于内存的key-value存储系统它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)。 Redis特性丰富,客户端支持现阶段流行的大多数编程语言。

Redis的特点:

    1. Redis是一个高性能的key/value内存型数据库

    2. Redis数据类型丰富(string、list、set、zset、hash等)

    3. Redis支持数据持久化(AOF和RDB两种持久化方式)

    4. Redis读写性能优异,单线程运行效率高

 

二:Redis的基本操作命令   【只需要记住常用的指令即可,红色标记为重要指定必须记住】

连接redis

redis-cli  -h ip -p port   [客户端连接redis可以指定主机-h xxx.xxx.xxx、端口号-p  xxxx。]

 

 

①:对数据库的操作指令

1.选择数据库

select index[0-15]

注意:redis默认会存在16个数据库库,编号从0-15,默认使用0号数据库

2. 数据库操作

清空当前数据库数据 flushdb

清空所有数据库数据 flushall

②:对数据库key的操作【重要的指令以红色标注】

1.del key1 key2 ... Keyn

作用: 删除1个或多个键

返回值: 不存在的key忽略掉,返回真正删除的key的数量

2.rename key newkey

作用: 给key赋一个新的key名

注:如果newkey已存在,则newkey的原值被覆盖

3.move key db

作用:移动key到指定数据库

返回值: 移动成功返回1,失败则返回0

4.keys pattern

作用:查找所有符合给定模式pattern 的key

keys * 匹配数据库中所有key

keys h?llo  占位匹配符合条件一个字符key,如:hello、hallo 和hxllo 等

kyes h*llo  通配匹配一个或者多个字符key,如:hllo 和heeeeello 等。

keys h[ae]llo 选择匹配一个或者多个字符key,如:hello和hallo

特殊符号用 \ 隔开

返回值:符合条件的key列表

5.randomkey

作用:返回随机 key

返回值:数据库为空返回nil,不为空返回key名

6.exists key

作用:判断key是否存在

返回值:存在返回1,不存在返回0

7.type key

作用:返回key存储的值的类型

返回值:string,list,set,order set,hash

8.ttl key

作用:查询key的生命周期

返回值:当key 不存在时,返回-2   

当key 存在但没有设置剩余生存时间时,返回-1

否则,以秒为单位,返回key 的剩余生存时间

9.expire key

作用:设置key的生命周期,以秒为单位

返回值:如果生存时间设置成功,返回1

当key 不存在或没办法设置生存时间,返回0

同理:

pexpire key 毫秒数,设置生命周期

pttl key,以毫秒返回生命周期

10.persist key

作用:把指定key置为永久有效

 

三:redis基本数据类型的操作指令

【指令虽然工作中并不常用,但是使用Jedis API操作redis数据库,方法名与指令一致。记住指令有利于掌握Jedis的使用。】

String类型:

命令

说明

set

设置一个key/value

get

根据key获得对应的value

mset

一次设置多个key value

mget

一次获得多个key的value

getset

获得原始key的值,同时设置新值 

strlen

获得对应key存储value的长度 

append

为对应key的value追加内容 

getrange

截取value的内容

setex

设置一个key存活的有效期(秒) 

psetex

设置一个key存活的有效期(豪秒)

setnx

存在不做任何操作,不存在添加

msetnx

可以同时设置多个key,只有有一个存在都不保存

decr

进行数值类型的-1操作 

decrby

根据提供的数据进行减法操作 

Incr

进行数值类型的+1操作 

incrby

根据提供的数据进行加法操作 

Incrbyfloat

根据提供的数据加入浮点数 

 

List类型【双向链表,可以从两边插入数据,维护顺序】

 

命令

说明

lpush

将某个值加入到一个key列表头部

lpushx

同lpush,但是必须要保证这个key存在

rpush

将某个值加入到一个key列表末尾

rpushx

同rpush,但是必须要保证这个key存在 

lpop

返回和移除列表的第一个元素

rpop

返回和移除列表的第一个元素

lrange

获取某一个下标区间内的元素 

llen

获取列表元素个数 

lset

设置某一个指定索引的值(索引必须存在)

lindex

获取某一个指定索引位置的元素 

lrem

删除重复元素 

ltrim

保留列表中特定区间内的元素

linsert

在某一个元素之前,之后插入新元素


 

Set类型【元素无序,不能重复】

命令

说明

sadd

为集合添加元素 

smembers

显示集合中所有元素 无序 

scard

返回集合中元素的个数 

spop

随机返回一个元素 

smove

从一个集合中向另一个集合移动元素

srem

从集合中删除一个元素

sismember

判断一个集合中是否含有这个元素 

srandmember

随机返回元素 

sdiff

去掉第一个集合中其它集合含有的相同元素

sinter

求交集 

sunion

求和集 

 

  Zset类型

 

命令

说明

zadd

添加一个有序集合元素 

zcard

返回集合的元素个数 

zrange

返回一个范围内的元素 

zrangebyscore

按照分数查找一个范围内的元素 

zrank

返回排名

zrevrank

倒序排名

zscore

显示某一个元素的分数 

zrem

移除某一个元素

zincrby

给某个特定元素加分

 

Hash类型

命令 

说明 

hset

设置一个key/value对 

hget

获得一个key对应的value

hgetall

获得所有的key/value对 

hdel

删除某一个key/value对 

hexists

判断一个key是否存在

hkeys

获得所有的key

hvals

获得所有的value

hmset

设置多个key/value

hmget

获得多个key的value

hsetnx

设置一个不存在的key的值

hincrby

为value进行加法运算

hincrbyfloat

为value加入浮点值

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值