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

【Redis四】Redis数据类型

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

概述

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
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • redis数据同步工具redis-shake之两服务器之间数据实时同步案例(0个评论)
    • redis中INCR、SETNX、SET三种加锁方式详解(0个评论)
    • redis安全配置之修改端口、添加密码流程步骤及启动使用(0个评论)
    • redis实现分页(0个评论)
    • Redis应用场景限流算法之一,计数器算法代码(0个评论)
    • 近期文章
    • 在Laravel应用程序如何减少代码重复编写(0个评论)
    • 在laravel项目中提高安全性方式推荐:CSP内容安全策略(0个评论)
    • 在go语言中从值中获取常量名称代码示例(0个评论)
    • 在go语言中如何通过名称获得结构字段和值代码示例(0个评论)
    • 在go语言中用JQuery + html2canvas实现拍摄浏览器的屏幕截图示例(0个评论)
    • 人生感悟分享:讲一个大学毕业生到社畜老狗的蜕变心路历程(0个评论)
    • laravel9框架报错Target class... does not exist解决方式(0个评论)
    • Laravel 9.48版本发布(0个评论)
    • Meta高级工程师现身说法:程序员干得越久,代码写得越少?(0个评论)
    • 本站zongscan祝大家除夕快乐,2023有奔头(0个评论)
    • 近期评论
    • 博主 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..
    • xiaoB 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..
    • BUG4 在

      你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..
    • 博主 在

      go语言+beego框架中获取get,post请求的所有参数中评论 @ t1  直接在router.go文件中配就ok..
    • Jade 在

      如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
    • 2017-12
    • 2020-03
    • 2020-05
    • 2021-04
    • 2022-03
    • 2022-05
    • 2022-08
    Top

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

    侯体宗的博客