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

Redis入门手记

作者头像
溪初桾
发布2020-03-10 09:01:51
3790
发布2020-03-10 09:01:51
举报
文章被收录于专栏:溪溪技术专栏溪溪技术专栏

建立一个名为bar的键

代码语言:javascript
复制
127.0.0.1:6379> set bar 1
OK
# 获取Redis中所有的键,keys命令需要遍历Redis中所有的键。当键的数量过多时,不建议使用。
127.0.0.1:6379> KEYS *
1) "bar"

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

代码语言:javascript
复制
127.0.0.1:6379> exists bar
(integer) 1
127.0.0.1:6379> exists note
(integer) 0

删除键

  • 语法:del key [key ...]
  • 返回值:删除的键的个数(整数)
代码语言:javascript
复制
127.0.0.1:6379> del bar
(integer) 1
127.0.0.1:6379> del bar
(integer) 0

获取键的类型

  • 语法:type key
  • 结果:string hash(散列类型) list(列表) set(集合类型) zset(有序集合类型) 等
代码语言:javascript
复制
127.0.0.1:6379> set allms 1
OK
127.0.0.1:6379> type allms
string
# 键的赋值
- 语法:set key value
127.0.0.1:6379> set a hello
OK
# 键的取值
- 语法:get key
- 返回:key对应的值 键不存在时返回空
127.0.0.1:6379> get a
"hello"
127.0.0.1:6379> get b
(nil)

递增数字+1

  • 语法:incr key
  • 作用:让当前的key的键值递增,返回递增后的值
  • 注意:当键值不是整数时,Redis会返回错误
代码语言:javascript
复制
127.0.0.1:6379> incr num
(integer) 1   因为num键是不存在的,所有默认的键值为0,递增后的键值为1
127.0.0.1:6379> incr num
(integer) 2
127.0.0.1:6379> incr num
(integer) 3
127.0.0.1:6379> set info test
OK
127.0.0.1:6379> get info
"test"
127.0.0.1:6379> incr info
(error) ERR value is not an integer or out of range

增加指定的整数

  • 语法:incrby key increment
  • 解释:increment为递增量,返回key递增后的值
代码语言:javascript
复制
127.0.0.1:6379> set num 100
OK
127.0.0.1:6379> get num
"100"
127.0.0.1:6379> incrby num 200
(integer) 300
127.0.0.1:6379> get num
"300"

递减数字-1

  • 语法:decr key
  • 解释:key的值对应减1,返回递减后的值
代码语言:javascript
复制
127.0.0.1:6379> get num
"300"
127.0.0.1:6379> decr num
(integer) 299
127.0.0.1:6379> decr num
(integer) 298
127.0.0.1:6379> get num
"298"

递减指定的整数

  • 语法:decrby key increment
  • 解释:increment为递减量,返回key递减后的值
代码语言:javascript
复制
127.0.0.1:6379> get num
"298"
127.0.0.1:6379> decrby num 100
(integer) 198
127.0.0.1:6379> get num
"198"

增加指定的浮点数

  • 语法:incrbyfloat key increment
  • 解释:increment为需要增加的浮点数,返回增加后的字符串长度
  • 特点:可以递增一个双精度的浮点数
代码语言:javascript
复制
127.0.0.1:6379> set num 1.0
OK
127.0.0.1:6379> get num
"1.0"
127.0.0.1:6379> incrbyfloat num 9.9
"10.9"
127.0.0.1:6379> get num
"10.9"
127.0.0.1:6379> incrbyfloat num 5E+4 #递增一个双精度的浮点数 5x10^4
"50010.900000000001"

在字符串键值后面追加值

  • 语法:append key value
  • 返回:增加后字符串的长度
代码语言:javascript
复制
127.0.0.1:6379> set allms hello
OK
127.0.0.1:6379> append allms " world!"  # 此处有一个空格,故加了一个双引号,默认可不加
(integer) 12
127.0.0.1:6379> get allms
"hello world!"

获取键值字符串的长度

  • 语法:strlen key
  • 返回:字符串的长度,为Integer型
代码语言:javascript
复制
127.0.0.1:6379> strlen allms
(integer) 12

同时获取多个键的值

  • 语法:mget key [key...]
  • 返回:对应key的键值
代码语言:javascript
复制
127.0.0.1:6379> keys *
1) "qfmx"
2) "num"
3) "allms"
127.0.0.1:6379> mget qfmx num allms
1) "data"
2) "50010.900000000001"
3) "hello world!"

同时设置多个键与值

  • 语法:mset key1 value1 key2 value2 ...
  • 返回: OK
代码语言:javascript
复制
127.0.0.1:6379> mset test1 data1 test2 data2 test3 data3
OK
127.0.0.1:6379> mget test1 test2 test3
1) "data1"
2) "data2"
3) "data3"

字符串的位操作(后续会单独补全)


散列类型

  • 解释:散列类型(hash)的键值是一种字典类型的结构,其储存了字段(field)和**字段的映射,但是字段值只能是字符串,不支持其他数据类型,也就说散列类型不能够嵌套其他类型,一个散列类型的键之多包含2^32 - 1个字段
  • 特点:散列类型适合储存对象 关系数据库中存储汽车表的结构

ID

color

name

price

1

黑色

宝马

100万

2

白色

奔驰

80万

3

红色

奥迪

99万

redis的散列类型的汽车对象ID为2的汽车信息的存储结构

字段

字段值

Car:2

color

白色

name

奔驰

price

80万

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 建立一个名为bar的键
  • 判断键是否存在(如果键存在返回整数1,否则返回整数0)
  • 删除键
  • 获取键的类型
  • 递增数字+1
  • 增加指定的整数
  • 递减数字-1
  • 递减指定的整数
  • 增加指定的浮点数
  • 在字符串键值后面追加值
  • 获取键值字符串的长度
  • 同时获取多个键的值
  • 同时设置多个键与值
  • 字符串的位操作(后续会单独补全)
  • 散列类型
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档