侯体宗的博客
  • 首页
  • Hyperf2.1版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

【Redis四】Redis数据类型

Redis  /  管理员 发布于 2年前   152

概述

Redis是一个高性能的数据结构服务器,称之为数据结构服务器的原因是,它提供了丰富的数据类型以满足不同的应用场景,本文对Redis的数据类型以及对这些类型可能的操作进行总结。

Redis常用的数据类型包括string、set、list、hash以及sorted set.Redis本身是K/V系统,这里的数据类型指的是value的类型,而不是key的类型,key的类型只有一种即string,Redis要求key这个字符串的长度必须大于1。

Redis提供了type命令用于判断key对应的value的类型,例如 type key,返回值有如下几种,

none,string,hash,set,sortedset,list,其中none表示value是nil。

 

string

string提供了如下操作:

  • SET/GET: 设置和读取键值,这是最常用的操作
localhost:6381> set key1 10OKlocalhost:6381> set key2 abcOKlocalhost:6381> set key3 this is a book(error) ERR syntax errorlocalhost:6381> set key3 "this is a book"OKlocalhost:6381> get key1"10"localhost:6381> ket ke2(error) ERR unknown command 'ket'localhost:6381> get key3"this is a book"localhost:6381> get key2"abc"localhost:6381>

 

  • INCR:为整型value做增1操作
localhost:6381> INCR count(integer) 1localhost:6381> set key1 abcOKlocalhost:6381> INCR key1(error) ERR value is not an integer or out of range

 

  • INCRBY:为整型value做增BY操作,如INCRBY count -10,则对count做减10操作
localhost:6381> INCRBY key4 10(integer) 10localhost:6381> INCRBY key4 100(integer) 110localhost:6381> INCRBY key4 -100(integer) 10localhost:6381> INCRBY key4 -200(integer) -190localhost:6381>

 

  • GETSET:读取并设值,这是一个原子操作,类似于JUC的CAS原语,或者AtomicInteger的incrementAndGet等操作

 

localhost:6381> getset abc 1"2"localhost:6381> getset key5 1(nil)localhost:6381> get key5"1"localhost:6381> getset key5 2"1"localhost:6381> get key5"2"localhost:6381>

 

 

 


  • 上一条:
    【Redis三】基于Redis sentinel的自动failover主从复制
    下一条:
    Redis 代理服务Twemproxy
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • TP(3/5)
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • redis安全配置之修改端口、添加密码流程步骤及启动使用(0个评论)
    • redis实现分页(0个评论)
    • Redis应用场景限流算法之一,计数器算法代码(0个评论)
    • 全网不一定最好的一篇Redis面试题解答详解,有补充希望您在底部留言(0个评论)
    • Redis为什么这么快(1个评论)
    • 近期文章
    • Laravel 9.13版本发布(0个评论)
    • beego+GeoLite2免费数据库获取ip地址经纬度等定位归属信息(0个评论)
    • redis安全配置之修改端口、添加密码流程步骤及启动使用(0个评论)
    • PHP + Memcache实现简单的统计当前在线人数功能(0个评论)
    • Thinkphp5.1框架中实现Session+Redis会话共享流程步骤(0个评论)
    • go语言中使用Signbit()函数判断一个整数是正数或负数(0个评论)
    • 删库跑路之一链家程序员删除公司9TB数据被判7年,望各大码农警之!(0个评论)
    • Laravel角色和权限:拦截器Gates和策略Policies的解释(0个评论)
    • Laravel 9.12版本发布(0个评论)
    • go语言中实现把数据写入文件函数WriteFile()编写(0个评论)
    • 近期评论
    • 博主 在

      hyperf框架常用命令-在centos7中退出命令及在docker容器中退出命令中评论 @路过的靓仔:cdn静态资源被墙,已修复..
    • GGGGGGGGG 在

      layui框架常用输入框介绍中评论 写的很好解决问题..
    • 路过的靓仔 在

      hyperf框架常用命令-在centos7中退出命令及在docker容器中退出命令中评论 剩下好多 wait 状态的..
    • 激光豆芽 在

      为什么你不能安逸?国内996为什么没有国外955香?中评论 国内现在无意义的内卷太多了..
    • 激光豆芽 在

      阿里云香港服务器搭建自用vpn:Shadowsocks使用流程步骤中评论 厉害了..
    • 2017-12
    • 2020-03
    • 2020-05
    • 2021-04
    • 2022-03
    • 2022-05
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客