Redis-操作命令初识:键命令-hash-list-set-zset

Redis

数据结构

  • redis是key-value的数据结构,每条数据都是一个键值对
  • 键的类型是字符串
  • 注意:键不能重复
  • 值的类型分为五种
    • 字符串string
    • 哈希hash
    • 列表list
    • 集合set
    • 有序集合zset

数据的操作行为

  • 保存
  • 修改
  • 获取
  • 删除

1.Redis的string操作

  • 字符串类型是redis中最为基础的数据存储类型,他在redis中是二进制安全的,这便意味着该类型可以接收任何格式的数据,如JPEG图像数据或json对象描述信息等,在redis中字符串类型的values最多可以容纳的数据长的是512M

保存

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

  • 设置键值

set key value

  • 例1:设置键为name值为itcast的数据

set name itcast

get name

  • 设置过期时间

set key value [EX seconds] [PX milliseconds] [NX|XX]

​ set name itcast EX 5

方法二

set name itcase

​ setex key seconds value

  • 清空数据库

flushall

  • 修改值

set name itcast

get name

set name itheima

  • 设置多个键值

mset key1 value1 key2 value2 …

例3:设置键为’a1’值为’python’、键为’a2’值为’java’,键为’a3’值为’e’

mset a1 python a2 php a3 java

  • 获取多个值

mget key1 key2 …

  • 追加值

append key value

获取:

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

get key

  • 获取多个键多个值

mget key1 key2…

删除

键命令

  • 查找键,参数支持正则表达式

keys pattern

  • 例1:查看所有键

keys *

  • 查看名称中包含a的键

keys ‘a*’

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

exists key

  • 例3:判断键a1是否存在

exists a1

  • 查看键对应的value的类型

type key

  • 例4:查看键a1的值类型,为redis支持的五种类型中的

type a1

  • 删除键对应的值

del key1 key2 …

  • 例5:删除键a2、a3

del a2 a3

  • 设置过期时间,以秒为单位

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

      • expire key seconds

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

      • expire ‘a1’ 3

  • 查看有效时间,以秒为单位

ttl key

  • 查看键’bb’的有效时间

ttl bb

hash类型

  • 能够写出redis中hash类型数据的怎删改查相关命令
  • hash用于存储对象、对象的结构为属性、值
  • 值的类型为string

增加

  • 设置单个属性

hset key field value

  • 例1:设置user的属性name为itheima

hset user name itheima

  • 设置多个属性

hmset key field value1 field2 value2

  • 例2:设置键u2的属性name为itcast、属性age为11

hmset u2 name itcast age 11

获取

  • 获取指定键所有的属性

hkeys key

  • 例3:获取键u2的所有属性

hkeys u2

  • 获取一个属性的值

hget key field

  • 例4:获取键u2属性’name‘的值

hget u2 name

  • 获取多个属性的值

hmget key field1 field2

  • 获取键u2属性’name’、'age’的值

hmget u2 name age

  • 获取键所有属性的值

hvals key

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

hvals u2

删除

  • 删除整个hash键及值,使用del命令
  • 删除属性,属性对应的值会被一起删除

hdel key field1 field2 …

  • 例7:删除键u2的属性age

hdel u2 age

list

  • 列表的元素类型为string
  • 安装插入顺序排序

增加(插入)

  • 在左侧插入数据

lpush key value1 value2…

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

lpush a1 a b c

  • 在右侧插入数据

rpush key value1 value2…

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

rpush a1 0 1

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

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

  • 例3:在键为’a1’的列表中元素’b’钱加入3

linsert key before b 3

获取

  • 返回列表里指定范围内的元素
    • start、stop为元素的下标索引
    • 索引从左侧开始,第一个元素为0
    • 索引可以是复数,表示从尾部开始计数,如-1表示最后一个元素

lrange key start stop

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

lrange a1 0 -1

设置指定索引位置的元素值(改)

  • 索引从左侧开始,第一个元素为0
  • 索引可以是负数,表示尾部开始计数,如-1表示最后一个元素

lset key index value

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

lset key 1 z

删除

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

lrem key count value

  • 例6.1:向列表’a2’中加入元素’a’、‘b’、‘a’、‘b’、‘a’、‘b’

lpush a2 a b a b a b

  • 例6.2:从a2列表右侧开始删除2个b

lrem a2 -2 b

  • 例6.3:查看列表a2的所有元素

lrange a2 0 -1

set类型

  • 无序集合
  • 元素为string
  • 元素具有唯一性,不重复
  • 说明:对于集合没有修改操作-------修改可用list

增加

  • 追加元素

sadd key member1 member2 …

  • 例1:向键a3的集合中添加元素 python、java、c++

sadd a3 python java c++

获取

  • 返回所有元素

smembers key

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

smembers a3

删除

  • 删除指定元素

srem key member

  • 例3:删除键a3的集合中的元素java

srem a3 java

zset 类型

  • sorted set 有序集合

  • 元素为string类型

  • 元素具有唯一性,不重复

  • 每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序

  • 说明:没有修改操作

增加

  • 添加

zadd key score1 member1 score2 member2 …

  • 例1:向键’a4’的集合中添加元素 list、wangwu、zhaoliu、zhangshan、权重分别为4,5,6,3

zadd a4 4 list 5 wangwu 6 zhaoliu 3 zhangshan

获取

  • 返回指定范围内的元素
  • start、stop为元素的下标索引
  • 索引从左侧开始,第一个元素为0
  • 索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素

zrange key start stop

  • 例2:获取键a4的集合所有元素

zrange a4 0 -1

  • 例3:获取键a4索引为2的元素

zrange a4 2 2

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

zrangebyscore key min max

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

zrangebyscore a4 5 6

  • 返回成员member的score值

zscore key member

  • 例4:获取键a4的集合中元素zhangsan的权重

zscore a4 zhangshan

删除

  • 删除指定元素

zrem key member1 member2 …

  • 例5:删除集合a4中元素zhangsan

zrem a4 zhangshan

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

zremrangebyscore key min max

  • 例6:删除集合a4中权重在5-6之间的元素

zremrangebyscore a4 5 6

发布了6 篇原创文章 · 获赞 33 · 访问量 3096

猜你喜欢

转载自blog.csdn.net/qq_35632689/article/details/104976605
今日推荐