首页 > 数据库 >【redis数据库】基础入门,五种类型增删改查

【redis数据库】基础入门,五种类型增删改查

时间:2024-08-22 19:24:01浏览次数:10  
标签:score 删除 user1 redis 改查 获取 添加 增删

目录

1.redis的启动

2.redis基本操作

3.redis的数据类型

4.字符串操作

添加修改值

获取值

5.键相关操作

查找键

判断键是否存在

查看键对应的值类型

设置已有键的过期时间

查看键过期时间

6.哈希操作

添加值

添加多个值

获取字段

获取字段对应的值

获取多个字段的值

获取所有字段的值

获取所有字段名包括值

删除字段

删除键

7.列表list

添加值

插入值

获取值

修改值

删除值

8.集合

添加值

获取值

删除值

9.有序集合

添加值

获取值

通过score获取值

通过值得到score

删除值

通过score删除值


1.redis的启动

  • 服务端启动

    • redis-server

  • 客户端启动

    • redis-cli

    • redis-cli --raw

      • 支持中文的启动方式

2.redis基本操作

  • ping

    • 测试与redis服务器是否联通

  • select

    • 选择数据库,redis有从0到15,16个数据库

    • select 3 选择3号数据库

    • select 0 选择0号数据库

    • 登录到redis客户端,如果没有做任何select操作,默认选择的是0号数据库

3.redis的数据类型

  • redis保存的数据都是按照键值对来保存

  • 键(key)

  • 值(value)

  • 键的数据类型都是字符串

  • 值的数据类型有以下五种

    • 字符串(string)

    • 哈希(hash)

    • 列表(list)

    • 无序集合(set)

    • 有序集合(zset)

4.字符串操作

添加修改值

  • set 键 值

    • 如果键不存在,就是添加

    • 如果键存在,就是修改

set user1 aaa
# 添加一个键user1 值为aaa
set user1 bbb
# 把键user1 的值修改为bbb
  • setex 键 过期时间 值

    • 过期时间单位为秒

 setex user2 3 bbb
 # 添加一个键user2 值为bbb,过期时间为3秒
  • 添加多个键值对

    • mset 键1 值1 键2 值2 .........

 mset use3 ccc user4 ddd user5 eee
 # 同时添加3个键值对
  • 已有值后面追加

    • append 键 值

 append haha
 #键user1的值后面追加内容哈哈

获取值

  • get 键

 get user1
 # 获取user1对应的值
  • mget获取多个值

 mget user1 user4 user5
 # 一次获取多个值
  • 删除值

    • del 键1 键2 键n.....

 del user1 user2
 # 同时删除user1和user2两个键和键对应的值

5.键相关操作

查找键

  • keys 键名

  • 可以支持*

 keys user1
 # 查找键user1是否存在
 keys *
 # 显示所有的键

判断键是否存在

  • exists 键名

    • 如果键存在,返回1

    • 不存在,返回0

 exists user1
 # 判断user1是否存在

查看键对应的值类型

  • type 键

 type user2
 # 查看user2对应的值的类型

设置已有键的过期时间

  • expire 键 秒数

 expire user2 100
 # 设置user2 的过期时间为100秒

查看键过期时间

  • ttl 键

    • -1永远有效

    • 大于0,剩余有效时间,单位秒

    • -2,键不存在

6.哈希操作

添加值

  • hset 键 字段 值

 hset huser1 name tom
 # 增加一个hash类型的键值对,字段为name,值为tom

添加多个值

  • hmset 值 字段1 值1 字段2 值2.......

 hmset huser2 name mary sex female
 # 添加一个huser2键,字段有两个

获取字段

  • hkeys 键

    • 获取指定键的所有字段名

 hkeys huser2
 # 获取键huser2所有的字段

获取字段对应的值

  • hget 键 字段

 hget huser2 name
 # 获取键huser2,字段name的值

获取多个字段的值

  • hmget 键 字段1 字段2.......

 hmget huser2 name sex
 # 获取huser2name和sex字段的值

获取所有字段的值

  • hvals 键

 hvals huser2
 # 获取huser2所有字段的值

获取所有字段名包括值

  • hgetall 键

 hgetall huser1
 # 获取huser1所有的字段名和值

删除字段

  • hdel 键 字段名

 hdel huser2 sex
 # 把键huser2 的字段sex删除

删除键

  • del 键

7.列表list

添加值

  • lpush 键 值1 值2 .....

    • 从列表左侧添加值

 lpush luser1 aa
 # 新建一个键luser1,左侧添加值aa
  • rpush 键 值1 值2......

    • 从列表右侧添加值

 rpush luser1 bb cc dd
 # 从列表右侧添加三个值bb cc dd

插入值

  • linsert 键 before或者after 值 新值

    • 在指定的值前面或者后面插入新值

 linsert luser1 before cc 11
 # 在cc前面插入新值11
 linsert luser1 after cc 22
 # 在cc后面插入新值22

获取值

  • lrange 键 start stop

    • start代表开始索引

    • stop结束索引

    • 第一个值的索引为0,最后一个值的索引为-1

 lrange luser1 0 -1
 # 获取列表所有值
 lrange luser1 2 -1
 # 从第三个元素开始获取到最后的值

修改值

  • lset 键 索引 值

    • 修改指定索引的值

 lset luser1 1 china
 # 把第二个元素的值改为china

删除值

  • lrem 键 count 值

    • count = 0 删除指定的所有值

    • count < 0,代表从右往左删除指定数量的值

    • count >0,代表从左往右删除指定数量的值

 lrem luser2 -1 h0
 # 从后往前,从右往左,删除一个h0
 lrem luser2 0 h0
 # 删除所有的h0

8.集合

添加值

  • sadd 键 值1 值2 值3.......

    • 集合添加值

 sadd suser1 aa bb cc 
 # 添加三个值

获取值

  • smembers 键

    • 获取集合的值

 smembers suser1
 # 获取键suser1所有的值

删除值

  • srem 键 值

    • 删除指定的值

 srem suser1 cc
 # 删除键user1的值cc

9.有序集合

添加值

  • zadd 键 score1 值1 score2 值2.

    • 添加值

 zadd zuser1 1 aa 3 dd 5 ee 2 cc
 # 添加三个值,score分别为1,3,5,2
 # 添加的值会按照score从小到大排序

获取值

  • zrange 键 start stop [withscores]

    • start从0开始

    • 最后一个索引为-1

    • withscores代表同时获取score

 zrange zuser1 0 -1 withscores
 # 获取zuser1所有的值和score

通过score获取值

  • zrangebyscore 键 min max

    • min代表score的起始值

    • max代表score的结束值

 zrangebyscore zuser1 2 6
 # 获取score从2到6之间的值

通过值得到score

  • zscore 键 值

    • 得到指定值的score

 zscore zuser1 dd
 # 得到值dd的score

删除值

  • zrem 键 值

    • 删除指定的值

 zrem zuser1 dd
 # 删除值dd

通过score删除值

  • zremrangebyscore 键 min max

    • min是要删除score的最小值

    • max是要删除score的最大值

 zremrangebyscore zuser1 0 10
 # score从0到10之间的值都删除

标签:score,删除,user1,redis,改查,获取,添加,增删
From: https://blog.csdn.net/isun1/article/details/141432983

相关文章

  • el-tree封装。可以搜索/下拉/高亮/能操作增删改查
    项目场景:     el-tree树形图组写成一个组件,并控制默认高亮问题描述     el-tree树形图组写成一个组件,并控制默认高亮。上边存在搜索框和下拉框。能添加和删除解决方案:组件代码:<template><divclass="grid-contentbg-purple"><!--标题--><......
  • springboot中redis缓存的基本使用
    springboot中redis缓存的基本使用一、使用1、依赖引入<dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-cache</artifactId></dependency><dependency>  <groupId>org.springframe......
  • redis入门
    1介绍1.1简介        Redis(RemoteDictionaryServer)是一个使用ANSIC编写的支持网络、基于内存、分布式、可选持久性的键值对存储数据库。根据月度排行网站DB-Engines.com的数据,Redis是最流行的键值对存储数据库。                      ......
  • Redis 数据类型详解
    Redis是一个开源的内存数据结构存储系统,广泛应用于缓存、消息队列、实时数据分析等场景。Redis提供了多种数据类型,本文将详细介绍Redis的五种主要数据类型及其应用场景,并从概述、基本操作、应用场景和数据结构等方面进行深入探讨。1.字符串(String)概述字符串是Redis......
  • 第二章 redis环境安装与配置
    redis环境安装redis的官方只提供了linux版本的redis,window系统的redis是微软团队根据官方的linux版本高仿的。官方原版:https://redis.io/中文官网:http://www.redis.cn1、下载和安装下载地址:https://github.com/tporadowski/redis/releases使用以下命令启动redis......
  • 第一章 redis简单介绍
    一、引言在Web应用发展的初期,那时关系型数据库受到了较为广泛的关注和应用,原因是因为那时候Web站点基本上访问和并发不高、交互也较少。而在后来,随着访问量的提升,使用关系型数据库的Web站点多多少少都开始在性能上出现了一些瓶颈,而瓶颈的源头一般是在磁盘的I/O上。而随着互联网技......
  • 【Azure Redis】AKS中使用Lettuce连接Redis Cache出现 timed out 问题的解决思路
    问题描述使用Lettuce客户端,在AKS环境中连接AzureRedis服务,出现超时错误。错误消息:Rediscommandtimedout,commandtimedoutafter1minute(s). 错误截图: 解决思路当出现Redis客户端连接不上时,需要先排查Redis服务器的状态,比如ServerLoad是否处于高位(90%以上),CP......
  • 服务器主机wordpress多网站启用redis缓存数据“混乱”解决办法
    近两天在搞网站数据迁移搬家的事情,是将A网站做为B网站的一个子目录,这样就牵涉到一个服务器两个网站的问题,因为这两个wordpress网站都使用了redis缓存,但在建站之初并没有设定不同的数据表前缀,后期修改我也不懂,直接导致了因为redis缓存两个网站数据“混乱”的问题。但好在网络......
  • SQLserver中的增删改查和数据类型
    SQLserver增删查改语句SQLServer是一种关系数据库管理系统,用于存储、管理和检索数据。以下是一些基本的SQL语句,用于在SQLServer中执行增删查改操作:插入数据(Insert)插入完整行:INSERTINTO表名(列1,列2,列3,...)VALUES(值1,值2,值3,...);插入多行:INSE......
  • redis实现统计用户连续登陆天数
    在很多app以及游戏当中,经常会统计用户连续登陆天数,使用mysql统计这份频繁的数据有所欠缺以及结算等方面都是很大的负担存在的挑战数据如何尽可能用小的空间存储如何能快速获取指定的数据如果使用文件保存   会有如下问题:文件分割变得十分麻烦数据检索非常不方便......