Redis零基础入门学习

Redis简介

Redis(Remote Dictionary Server)是一个开源的、基于内存的键值存储系统 ,常被用作数据库、缓存和消息中间件。它支持多种数据结构(如字符串、哈希、列表、集合等),并提供高性能、原子性操作及持久化功能。被誉为内存数据库

Redis的五大核心数据结构

1.字符串(String)

2.哈希(Hash)

3.列表(List)

4.无序集合(Set)

5.有序集合(ZSet)

Redis是基于内存的,采用键值对存储形式。值可以是以上五种数据结构的任意一种,每一个值都拥有相对应的key。通过key我们可以找到任意一个值。

Redis的基本命令

key的相关命令

del key1 key2 //删除key1,key2。 可以单独删除,也可以一次性删除多个

keys pattern //找到符合相应模式的key

(keys * //找到所有key)(星号在前可以找到以...开头的key,在后则相反,星号之间的话的则可以找到名称中包含的key)

ttl key //查看key的剩余生存时间

expire key seconds //给key设置生存时间

exists key //检查key是否存在

persist key //移除key的过期时间,使key永不过期

type key //获取key所存储的值的类型

flushDB //清空当前数据库

String的常用命令

set key value //设置键值对

set key value seconds //设置键值对的同时设置过期时间)

(setnx key value //只有key不存在时,才能设置)

(setex key value //只有key存在时,才能设置以此进行更新)

get key //获取键的值

mset key1 value1 key2 value2 key3 values //一次性设置多个键值对

mget key1 key2 //一次性得到多个值

incr key //将键对应的值加1(只能用于整数字符串)

decr key //将键对应的值减1(只能用于整数字符串)

append key value //向key后面追加值(key存在时,直接向原数据后追加,key不存在时,直接创建新的key并赋值为value)

strlen key //获取key对应的值的长度

Hash的常用命令

field:字段,对应独立hash中的key

value:值,对应独立hash中的value

hset key field value //设置哈希字段值

hget key field //获取对应的哈希字段值(不能写成 hget key来获取key对应的整个哈希,会报错)

hmset key field1 value1 field2 value2 //批量设置(新版的也可以用hset来进行批量设置了)

hmget key field1 field2 //批量获取字段值

hget all //获取所有字段和值

hkeys key //获取key对应的所有字段

hvals key //获取key对应的所有值

hlen key //获取key对应的字段数量

hexists key field //检查可以key对应的字段是否存在

hdel key field //删除key对应的字段

hincrby key field nums //key对应的字段值加nums(,nums可以是负数只适用于整数类型的字段值)

List

lpush key value1 value2 //从key对应的列表的左侧插入(可以一次性插入多个值)

rpush key value1 value2 //从key对应的列表的右侧插入

lpop key //从最左侧移除一个key对应的列表中的值,并返回被移除的值

rpop key //从最右侧移除一个key对应的列表中的值,并返回被移除的值

lrange key start last //获取key对应的列表中索引从start到last的值 (索引从0开始)

lrange key 0 -1 //表示获取列表中所有的值)

lindex key index //获取key对应的列表中索引为index的值

lrem key count value //从key对应的列表的左边删除count个对应的value(count>0的话,从左边删除count个对应的value;count<0的话从右边删除|count|个对应的value;count=0的话,删除所有的对应的value)

llen key //获取key对应的列表的长度

Set

sadd key member1 member2 //向key对应的集合中添加值(可以一次性添加多个值)

srem key member1 member2 //删除key对应的集合中的值

smembers key //获取key对应的集合中的所有值

sismember key member //检查key对应的集合中值是否存在

scard key //获取key对应的集合大小

sinter key1 key2 //获取交集
sunion key1 key2 //获取并集
sdiff key1 key2 //获取差集

srandmember key [count] //随机获取key对应的集合中count个元素

ZSet

score: 对应权重,分数,决定了成员的顺序和位置

zadd key score1 member1 score2 member2 //向key对应的有序集合中添加成员(可以一次性添加多个)

zrem key menmber1 me,ber2 //删除key对应的有序集合中的成员

zscore key member //获取key对应的有序集合中的成员中的分数

zrank key member //获取成员在key对应的有序集合中升序时的排名

zrevrank key member //获取成员在key对应的有序集合中降序序时的排名

zrange key start stop [WITHSCORES] //按排名范围获取

zrevrange key start stop [WITHSCORES] //按排名范围获取(降序)

zrangebyscore key min max [WITHSCORES] //按分数范围获取

zcard key //获取成员数量

ZCOUNT key min max //统计分数范围内的成员

ZINCRBY key increment member //向key对应的有序集合中的member增加increment分

相关推荐
NEXT062 小时前
2026 技术风向:为什么在 AI 时代,PostgreSQL 彻底成为了全栈工程师的首选数据库
前端·数据库·ai编程
Tangcan-2 小时前
在Ubuntu 22.04上安装redis
linux·redis·ubuntu
hzc09876543212 小时前
MySQL大小写敏感、MySQL设置字段大小写敏感
数据库·mysql
w***29852 小时前
MySql中的事务、MySql事务详解、MySql隔离级别
数据库·mysql·adb
如果你想拥有什么先让自己配得上拥有2 小时前
全等三角形的判定条件思考
学习·总结
zhanglinping6192 小时前
MySQL——内置函数
android·数据库·mysql
m***78742 小时前
mysql之字符串函数
android·数据库·mysql
l1t2 小时前
DeepSeek总结的Postgres 查询中的读取效率问题
数据库·postgresql
whn19773 小时前
【达梦】-544: 超出全局排序空间,请调整SORT_BUF_GLOBAL_SIZE、SORT_BUF_SIZE、SORT_BLK_SIZE
数据库