zoukankan      html  css  js  c++  java
  • Redis 基础操作

    数据库结构

    • rediskey - value 的数据结构,每条数据都是一个键值对
    • 键的类型是字符串

    注意:键不能重复

    值的类型分为5种:字符串(string)列表(list)哈希(hash)集合(set)有序集合(zset)

    数据库操作行为:增加、修改、获取、删除。

    点击中⽂官⽹查看命令⽂档http://redis.cn/commands.html

    string 类型

    ​ 字符串类型是Redis中最为基础的数据存储类型,该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。

    ​ 在Redis中字符串类型的Value最多可以容纳的数据长度是512M。

    增加

    如果设置的键不存在则为添加,如果设置的键已经存在则修改

    设置键值

    set key value
    

    例:设置键为 name ,值为 conan 的数据

    set name conan
    

    Redis 基础操作

    设置键值及过期时间,以秒为单位

    setex key seconds value
    

    例:设置键为 a1,值为 v1,过期时间为3秒的数据

    setex a1 3 v1
    

    设置多个键值

    mset key1 value1 key2 value2 key3 value3 ...
    

    例:设置键为 a1,值为 go;键为 a2,值为 c;键为 a3,值为 java

    mset a1 go a2 c a3 java
    

    Redis 基础操作

    追加值

    append key value
    

    例:向键为 a1 中追加值 真棒

    append a1 真棒
    

    Redis 基础操作

    这时有可能会出现中文乱码问题,解决方案如下:

    exit
    redis-cli.exe --raw
    

    再次获取数据就不会乱码了

    Redis 基础操作

    获取

    根据键获取值,如果不存在此键则返回 nil

    get key
    

    例:获取键 name

    get name
    

    根据多个键获取多个值

    mget key1 key2 key3 ...
    

    例:获取 a1a2a3 的值

    mget a1 a2 a3
    

    Redis 基础操作

    删除

    详情见下面键命令,删除键时会将对应的值删除。

    键命令

    查找键(参数支持正则表达式)

    keys pattern
    

    例:查看所有键

    keys *
    

    Redis 基础操作

    例:查看名称中开头为 a 的键

    keys a*
    

    Redis 基础操作

    判断键是否存在(如果存在返回 1,不存在返回 0)

    exists key1
    

    例:判断键 a1 是否存在

    exists a1
    

    Redis 基础操作

    查看键对应的 value 的类型

    type key
    

    例:查看键 a1 的值类型(为 redis 支持的 5 种类型中的一种)

    type a1
    

    Redis 基础操作

    删除键及对应的值(返回删除的个数)

    del key1 key2 ...
    

    例:删除键 a2a3

    del a2 a3
    

    Redis 基础操作

    设置过期时间(以秒为单位)

    • 如果没有指定过期时间则一直存在,直到使用 del 删除
    expire key seconds
    

    例:设置键 a1 的过期时间为 3 秒

    expire a1 3
    

    Redis 基础操作

    查看有效时间(以秒为单位)

    ttl key
    

    例:查看键 b1 的有效时间

    先创建一个 b1,过期时间为 100 秒

    setex b1 100 bbb
    

    查看其有效时间

    ttl b1
    

    Redis 基础操作

    list 类型

    • 列表的元素类型为 string
    • 按照插入顺序排序

    增加

    在左侧插入数据

    lpush key value1 value2 ...
    

    例:从键为 a1 的列表左侧加入数据 a、b、c

    lpush a1 a b c
    

    Redis 基础操作

    在右侧插入数据

    rpush key value1 value2 ...
    

    例:从键为 a1 的列表右侧加入数据 0、1

    rpush a1 0 1
    

    Redis 基础操作

    在指定元素的前或后插入新元素

    linsert key before/after 现有元素 新元素
    

    例:在键为 a1 的列表中的元素 b 的前面插入 3

    linsert a1 before b 3
    

    Redis 基础操作

    获取

    返回列表里指定范围内的元素

    • start、stop 为元素的下标索引

    • 索引从左侧开始,第一个元素为 0

    • 索引可以是负数:表示从尾部开始计数。如 -1 表示最后一个元素

    lrange key stsrt stop
    

    例:获取键为 a1 的列表所有元素

    lrange a1 0 -1
    

    Redis 基础操作

    修改

    设置指定索引位置的元素值

    索引从左侧开始,第一个元素为 0

    索引可以是负数,表示从尾部开始计数。如 -1 表示最后一个元素

    lset key index value
    

    例:修改键为 a1 的列表中下标为 1 的元素值为 z

    lset a1 1 z
    

    Redis 基础操作

    删除

    删除指定元素

    • 将列表中前 count 次出现的值为 value 的元素删除
    • count > 0:从头往后删除
    • count < 0:从后往前删除
    • count = 0:删除所有
    lrem key count value
    

    例:向列表 a2 中加入元素 a、b、a、b、a、b

    lpush a2 a b a b a b
    

    a2 列表右侧开始删除 2 个 b

    lrem a2 -2 b
    

    查看列表 a2 中所有元素

    lrange a2 0 -1
    

    Redis 基础操作

    hash 类型

    hash 用于存储对象

    • 对象的结构为:属性、值

    • 值的类型为 string

    增加、修改

    设置单个属性

    hset key field value
    

    例:设置键 user 的属性 nameconan

    hset user name conan
    

    Redis 基础操作

    设置多个属性

    hmset key field1 value1 field2 value2 ...
    

    例:设置键 u2 的属性 nameconan,属性 age18

    hmset u2 name conan age 18
    

    Redis 基础操作

    获取

    获取指定键所有的属性

    hkeys key
    

    例:获取键 u2 的所有属性

    hkeys u2
    

    Redis 基础操作

    获取一个属性的值

    hget key field
    

    例:获取键 u2 属性 name 的值

    hget u2 name
    

    Redis 基础操作

    获取多个属性的值

    hmget key field1 field2 ...
    

    例:获取键 u2 属性为 nameage 的值

    hmget u2 name age
    

    Redis 基础操作

    获取所有属性的值

    hvals key
    

    例:获取键 u2 的所有属性的值

    hvals u2
    

    Redis 基础操作

    获取一个hash有多少个属性

    hlen key
    

    例:获取键 u2 有多少个属性

    hlen u2
    

    Redis 基础操作

    删除

    删除整个 hash 键及值,使用 del 命令

    删除属性,属性对应的值会被一起删除

    hdel key field1 field2 ...
    

    例:删除键 u2 的属性 age

    hdel u2 age
    

    Redis 基础操作

    set 类型

    • 无序集合
    • 元素为 string 类型
    • 元素具有唯一性, 不重复
    • 对于集合没有修改操作

    增加

    添加元素

    sadd key member1 member2 ...
    

    例:向键 "a3" 的集合中添加元素 “zhangsan”、“lisi”

    sadd a3 zhangsan lisi
    

    Redis 基础操作

    获取

    返回所有的元素

    smembers key
    

    例:获取键 "a3" 的集合中所有元素

    smembers a3
    

    Redis 基础操作

    删除

    删除指定元素

    srem key value
    

    例:删除键 "a3" 的集合中元素 "zhangsan"

    srem a3 zhangsan
    

    Redis 基础操作

    zset 类型

    • sorted set:有序集合
    • 元素为 string 类型
    • 元素具有唯一性、不重复
    • 每个元素都会关联一个 double 类型的 score,表示权重,通过权重将元素从小到大排序
    • 没有修改操作

    增加

    添加元素

    zadd key score1 member1 score2 member2 ...
    

    例:向键 “a4” 的集合中添加元素 “zhaoliu”、“zhangsan”、“lisi”,权重分别为4、5、3

    zadd a4 4 zhaoliu 5 zhangsan 3 lisi
    

    Redis 基础操作

    获取

    返回指定范围内的元素

    • start、stop 为元素的下标索引
    • 索引从左侧开始,第一个元素为0
    • 索引可以是负数,表示从尾部开始计数。如 -1 表示最后一个元素
    zrange key start stop
    

    例:获取键 ”a4“ 的集合中所有元素

    zrange a4 0 -1
    

    Redis 基础操作

    返回 score 值在 min 和 max 之间的成员

    zrangebyscore key min max
    

    例:获取键 ”a4“ 的集合中权重在4和5之间的成员

    zrangebyscore a4 4 5
    

    Redis 基础操作

    返回成员 member 的 score 值

    zscore key member
    

    例:获取键 ”a4“ 的集合中元素 ”zhangsan“ 的权重

    Redis 基础操作

    删除

    删除指定元素

    zrem key member1 member2 ...
    

    例:删除集合 ”a4“ 中的元素 ”zhangsan“

    zrem a4 zhangsan
    

    Redis 基础操作

    删除权重在指定范围内的元素

    zremrangebyscore key min max
    

    例:删除集合 ”a4“ 中权重在 3 和 4 之间的元素

    zremrangebyscore a4 3 4
    

    Redis 基础操作

    李培冠博客

    lpgit.com

  • 相关阅读:
    传统目标检测主要结构原理讲解(去除了冗余的知识)
    redis部署,linux下秒级定时监控服务脚本
    第一个脚本部署案例,比较简单,还有redis的部署脚本没有写完
    fabric-sdk-go client开发
    fabric-sdk-go ca开发
    fabric-sdk-go config详解
    pkg/client/msp msp包
    pkg/client/resmgmt resmgmt包
    pkg/client/ledger ledger包
    pkg/client/event event包
  • 原文地址:https://www.cnblogs.com/lpgit/p/13509923.html
Copyright © 2011-2022 走看看