前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis使用笔记

Redis使用笔记

原创
作者头像
知识浅谈
修改2020-11-02 10:40:14
3540
修改2020-11-02 10:40:14
举报
文章被收录于专栏:分享学习分享学习

redis 相关命令

概述:redis是键值对的格式,键是字符串的形式,而其值是{字符串(String),哈希(hash),列表(list),无序集合(set),有序集合(zset)}

1.字符串操作

添加修改值
  • set键值
  • 如果键不存在,就是添加
  • 如果键存在,就是修改

set user aaa

#添加一个键user 值为aaa

set user1 bbb

#添加一个键user1 值为bbb

  • setex 键 过期时间 值 带有过期时间的键值对设置

127.0.0.1:6379> setex key3 10 value3

OK

127.0.0.1:6379> get key3

value3

127.0.0.1:6379> get key3

  • mset 键1 值1 键2 值2 .... 同时设置多个键值对

127.0.0.1:6379> mset user1 aaa user2 bbb user3 ccc

OK

127.0.0.1:6379> get user1

aaa

127.0.0.1:6379> get user2

bbb

127.0.0.1:6379> get user3

ccc

127.0.0.1:6379>

  • mget key1 key2 ... 获取多个键的值

127.0.0.1:6379> mget user1 user2 user3

aaa

bbb

ccchaha

  • append key value 如果原来优质就追加值,没有的话相当于set的作用

127.0.0.1:6379> APPEND user3 haha

7

127.0.0.1:6379> get user3

ccchaha

  • del key1 key2 ... 删除多个键值对

127.0.0.1:6379> del user1 user2

2 这个是返回的2

键命令
  • keys pattern

127.0.0.1:6379> keys user1

user1

127.0.0.1:6379> keys user11

//这里显示的是空,因为user11不存在

  • keys * 表示查询所有的键

127.0.0.1:6379> keys *

user2

user3

key1

user1

use3

  • exists key1 判断键是否存在

127.0.0.1:6379> exists user1

1

127.0.0.1:6379> exists user11

0

  • type key1 查看键对应的值的类型

127.0.0.1:6379> type user1

string

  • expire key1 time 设置键的过期时间,因为可能有一些键在刚开始设置的时候没有设置过期时间,之后有需求的时候可以使用这个命令

127.0.0.1:6379> expire user1 3

1

127.0.0.1:6379> get user1

//这里显示的是空,因为user11不存在

  • ttl key1 查看这个键能活多久

127.0.0.1:6379> expire user2 100

1

127.0.0.1:6379> ttl user2

95

127.0.0.1:6379> ttl user2

93

127.0.0.1:6379> ttl user2

91

127.0.0.1:6379> ttl user2

85

127.0.0.1:6379> expire user2 100 //在效使的过程中还可以重新设置键的消失时间

1

127.0.0.1:6379> ttl user2

99

  • hset key1 字段1 值1 其中key1为键,(字段1,值1)为值 ,但是这个命令只能设置一个字段

127.0.0.1:6379> hset user1 param1 value1

1

  • hmset key1 字段1 值1 字段2 值2 ...这个可以有多个字段

127.0.0.1:6379> hmset user5 field1 value1 field2 value2

OK

  • hkeys key1 表示获取键的所有字段

127.0.0.1:6379> hkeys user5

field1

field2

  • hget key field 获取一个字段的值

127.0.0.1:6379> hget user5 field1

value1

  • hmget key field1 field2 获取多个字段的值

127.0.0.1:6379> hmget user5 field1 field2

value1

value2

  • hvals key 获取key的所有字段的值

127.0.0.1:6379> hkeys user5

field1

field2

  • hgetall key 获取key的所有字段名和对应的值

127.0.0.1:6379> hgetall user5

field1

value1

field2

value2

  • hdel key1 field1 删除key1中的field1这个字段值

127.0.0.1:6379> hdel user5 field1

1

127.0.0.1:6379> hvals user5

value2

  • del key1 key2 这个命令会删除所有的键和其对应的字段

127.0.0.1:6379> del user5

1

127.0.0.1:6379> exists user5

0

列表
  • 添加值,因为是列表,所以是从两侧都可以添加
  • lpush key1 val1 val2 从列表的左边把值添加进去
  • rpush key1 val3 val4 从列表的右侧把值添加进去

127.0.0.1:6379> lpush user6 2 3 4 5

5

127.0.0.1:6379>

127.0.0.1:6379> rpush user6 0 0 0

8

  • linsert rinsert 在指定的值的前边或者后边插入值

127.0.0.1:6379> linsert user6 before 3 -1

9

127.0.0.1:6379> linsert user6 after 3 -1

10

  • 获取lrange start end 左边索引从0开始,右边的索引从-1 开始

127.0.0.1:6379> lrange user6 0 5 //先边是对应的获取的值

5

4

-1

3

-1

2

  • lset key1 1 str 可以修改key1中索引为1的值为str

127.0.0.1:6379> lset user6 1 wer

OK

  • lrem key count value 表示的是删除key对应的列表中的count个value的值,若count>0 表示从左向右删除,count<0表示从右向左删除,count表示删除所有的值

127.0.0.1:6379> lrem user6 1 3

1

127.0.0.1:6379> lrange user6 0 -1

5

wer

-1

-1

2

1

0

0

0

set 无序集合:(集合里边是不允许是有重复值的)就是存储的时候不像是列表是有序的
  • 集合中值之恶能添加与删除,不能修改
  • smembers key1 获取集合中的值

127.0.0.1:6379> smembers set1

1

2

3

  • srem key param 就是删除key中的param这个值

127.0.0.1:6379> srem set1 2

1

127.0.0.1:6379> smembers set1

1

3

对于zset有序集合中的数值为什么是有序的,同理有序集合中的数据也是只能添加删除,但是不能修改

image-20201031194550365
image-20201031194550365

排序之后每个之还会有一个索引

image-20201031194921896
image-20201031194921896
  • 添加:zadd key score1 value1 score2 value2

127.0.0.1:6379> zadd user7 1 asd 3 qwe 2 zxc

3

  • 查看:zrange key start end withscores 后边的这个withscores可有可无,如果要输出没元素对应的分数,应带上。

127.0.0.1:6379> zrange user7 0 -1 withscores

asd

1

zxc

2

qwe

3

  • zrangebyscore key score1 score2 withscores 表示的是去除score在score1到score2之间的值

127.0.0.1:6379> zrange user7 0 -1 withscores

zxc

2

qwe

3

ert

4

fgh

6

asd

9

127.0.0.1:6379> zrangebyscore user7 4 6

ert

fgh

  • zscore key value 表示的是chaxunkey这个表中的value的score

127.0.0.1:6379> zscore user7 fgh

6

  • zrem key param 表示的是删除param这个集合中的param元素

127.0.0.1:6379> zrem user7 fgh

1

  • zremrangebyscore key score1 score2 删除可key中对应的值

127.0.0.1:6379> zremrangebyscore user7 3 6

2

127.0.0.1:6379> zrange user7 0 -1

zxc

asd

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • redis 相关命令
    • 1.字符串操作
      • 添加修改值
      • 键命令
      • 列表
      • set 无序集合:(集合里边是不允许是有重复值的)就是存储的时候不像是列表是有序的
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com