redis基础知识(快速入门)

redis入门

概述

首先redis是一个基于内存的key-value型数据库。

例如

key value
id 1
name sfes
  • 基于内存存储,读写性能高

  • 适合存储一些热点数据(热点商品,新闻等),也就是说一些在短时间内有大量用户访问的数据

命令行

服务端启动命令

复制代码
redis-server.exe redis.windows.conf

客户端启动命令

复制代码
redis-cli.exe //不带参数启动
redis-cli.exe -h localhost -p 6379 -a password 
//-h指定IP -p指定端口号 -a指定密码

查询里边有哪些数据

复制代码
keys *

redis常用数据类型

  • 字符串string

  • 哈希hash

  • 列表list

  • 集合set

  • 有序集合 sorted set/zset

    字符串

    普通字符串,redis中最简单的数据类型

    哈希hash

    也叫散列,类似于java中的hashmap,基本就有点面向对象的思想了

    列表

    按照插入顺序进行排序,里边可以有重复元素

    集合

    无序集合,没有重复元素

    有序集合

    集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素

    redis常用命令

    插入数据要看数据类型,不同的数据类型的插入命令也是不一样的。

    字符串操作命令

    插入

    复制代码
    set key value //这是格式

    比如我要插入一个名字是sfes

    复制代码
    set name sfes

    取值

    复制代码
    get key

    比如我要把刚才插入的取出来

    复制代码
    get name

    插入的同时指定过期时间

    最简单的应用场景就是获取验证码,比如获取的验证码有效期是1分钟,就可以给他设置一分钟的过期时间

    复制代码
    setex key seconds value//格式
    set code 60 1234//实例

    当某个key不存在的时候再去设置他的值

    复制代码
    setnx key value
    哈希操作命令

    hash是一个string类型的field和value的映射表,适合存储对象

    复制代码
    hset key field value //将哈希表中key中字段field的值设置为value
    hget key field // 取出哈希表中key中字段field的值
    hdel key field // 删除哈希表中key中的field字段
    hkeys key //获取哈希表中key的所有字段
    hvals key // 获取哈希表中key的所有值
    列表操作命令

    redis列表是最简单的字符串列表,按照插入的顺序进行排序。

    复制代码
    lpush key value1 [value2] //从左侧插入数据
    lrange key start stop //获取列表中指定范围内的元素
    rpop key// 移除并获取列表的最后一个元素
    llen key // 获取列表长度
    
    //给mylist插入三个数据a b c
    lpush mylist a b c
    
    lrange mylist 0 -1 //获取列表中所有元素
    集合操作命令

    redis中的set是string类型的无序集合,集合成员是唯一的,不重复

    复制代码
    sadd key member1 [member2]//向集合中插入一个或多个元素
    smembers key //返回集合中的所有成员
    scard key //获取集合中成员数量
    sinter key1 [key2] //返回给定集合的交集
    sunion key1 [key2] //返回给定集合的并集
    srem key member1 [member2] //删除集合中的一个或多个元素
    有序集合操作命令

    redis中的有序集合是string类型元素的集合,不允许有重复元素,每个元素会关联一个double类型的分数。

    复制代码
    zadd key score1 member1 [score2 member2]//向有序集合中添加一个或多个元素
    zrange key start stop[withscores]//返回指定区间的元素[要不要带上分数]
    zincrby key increment member //有序集合中对指定成员的分数加上increment
    zrem key member [member...] //移出集合中一个或多个元素
    通用命令

    redis通用命令就是不分数据类型都可以使用的命令

    复制代码
    keys pattern //返回能匹配到pattern的key
    exists key //返回key是否存在
    type key //返回key的类型
    del key //删除某个key
相关推荐
IvorySQL1 小时前
PG 日报|新增 VACUUM 全维度统计信息补丁迭代
数据库·人工智能·postgresql·ivorysql
白露与泡影3 小时前
Redis 缓存实战:雪崩、穿透、击穿一次讲透
数据库·redis·缓存
Steadfast_GG4 小时前
Redis典型应用 - 缓存,缓存更新策略,内存淘汰策略,缓存预热,缓存穿透,缓存雪崩,缓存击穿
redis·缓存穿透·缓存击穿·缓存雪崩·缓存预热·缓存更新策略·内存淘汰策略
赵渝强老师4 小时前
【赵渝强老师】使用Oracle可传输的表空间迁移数据
数据库·oracle
IpdataCloud5 小时前
跨区服玩家延迟高怎么办?用IP离线库自动分配到最近服务器
数据库·tcp/ip·github·php·ip
wuqingshun3141596 小时前
MYSQL默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
空中湖7 小时前
电池简史(五):极限之梦与终章——锂硫、锂空气、量子电池,以及你该知道的电池投资与生活指南
数据库·程序人生
蓝胖子酱8 小时前
在 Electron 中用 electron-store 实现加密存储与自定义格式文件
前端·javascript·数据库
snow@li9 小时前
Redis:数据库语法速查表 / 全景梳理
数据库·redis·缓存
Devlive 开源社区9 小时前
Nebula 1.6.0 发布:跨区域桶自动路由、秒传、文本/PDF 预览一次到位
数据库·sql