Redis 各数据类型的常用操作

本贴最后更新于 3008 天前,其中的信息可能已经斗转星移

redis 存储的数据类型主要有五种:字符串(String)、列表(List)、集合(Set)、排序集合(Sorted Set)、散列表(Hash)

一、字符串(String)常用操作

set:设置一个值,如 set username tuozixuan

get: 获取一个值,如 get username

append:如果 key 已经存在,则追加到值的末尾,否则新创建一个,如 append username tuozixuan

decr: 将值原子性的递减 1,如 decr userage

incr: 将值原子性的递增 1,如 incr userage

decrby: 将值原子性的减去指定值,如 decrby userage 5

incrby: 将值原子性的增加指定值,如 incrby userage 5

strlen:获取字符串值的长度

二、列表(List)常用操作

lpush: 从列表左端推入一个元素,如 lpush namelist tuozixuan

rpush: 从列表右端推入一个元素,如 rpush namelist tuozixuan

lrange: 从列表中取出指定范围的元素,如 lrange namelist 0 2;lrange namelist 0 -1(取出所有元素)

lpop: 从列表左端弹出一个元素,如 lpop namelist

rpop: 从列表右端弹出一个元素,如 rpop namelist

lrem: 从左往右或从右往左删除指定数目的元素,如

lrem namelist 1 tuozixuan(从左往右删除一个值为tuozixuan的元素) lrem namelist -1 tuozixuan(从右往左删除一个值为tuozixuan的元素)

lset: 把列表中的指定位置设置为新值,如 lset namelist 2 tuozixuan2

lindex: 把列表中指定下标的值,如 lindex namelist 1

ltrim: 保留列表中指定范围的元素,如 ltrim namelist 2 4

llen: 获取列表中元素的数量,如 llen namelist

三、集合(Set)常用操作

sadd: 在集合中加入一个元素,如 sadd nameset tuozixuan

smembers: 获取集合中的所有元素,如 smembers nameset

scard: 获取集合中元素的数量,如 scard nameset

sismember: 判断元素是否在集合中,如 sismember nameset tuozixuan

spop: 随机从集合中弹出一个元素,如 spop nameset

srem: 从集合中移除元素,如 srem nameset tuozixuan

srandmember: 从集合中随机取出一个元素,如 srandmember nameset

四、散列表(Hash)常用操作

hset: 在散列表中指定 key 的元素上设置某个字段的值,如 hset userhash name tuozixuan

hget: 获取某个字段的值,如 hget userhash name

hmset: 设置多个字段的值,如 hmset userhash name1 tuozixuan1 name2 tuozixuan2

hmget: 获取多个字段的值,如 hmget userhash name1 name2

hkeys: 返回该散列表中所有的字段名,如 hkeys userhash

hvals: 返回该散列表中所有的值,如 hvals userhash

hlen: 返回该散列表中字段的数量,如 hlen userhash

hexists: 查看该字段在散列表中是否已经存在,如 hexists userhash name1

hdel: 删除散列表中指定字段,如 hdel userhash name1

hgetall: 获取散列表中所有的字段名和值,如 hgetall userhash

hincrby: 给散列表中某个字段的值加上指定值,如 hincrby userhash age 3

五、排序集合(Sorted Set)常用操作

zadd:在集合中加入一个元素,并指定分值,如 zadd namezset 1.0 tuozixuan1

zcard:返回集合中元素的数量,如 zcard namezset

zrange:获取按分值排序的集合中指定范围的元素,如 zrange namezset 2 4

zrevrange: 获取按分值逆序排列的集合中指定范围的元素,如 zrevrange nameset 0 -1

zrem:从排序集合中删除指定元素,如 zrem namezset tuozixuan1

zscore: 获取排序集合中指定元素的分支,如 zscore namezset tuozixuan1

zrank:获取元素在集合中的排名(下标),集合按分值从小到大排列,如 zrank nameset tuozixuan1

zrevrank: 获取元素在集合中的排名(下标),集合按分值从大到小排列,如 zrevrank nameset tuozixuan1

  • 缓存
    42 引用 • 70 回帖
  • NoSQL
    11 引用 • 4 回帖
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 248 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 110 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 35 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    42 引用 • 130 回帖 • 251 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    107 引用 • 127 回帖 • 341 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    35 引用 • 468 回帖 • 761 关注
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 464 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 224 关注
  • Excel
    31 引用 • 28 回帖
  • 工具

    子曰:“工欲善其事,必先利其器。”

    298 引用 • 763 回帖
  • OneNote
    1 引用 • 3 回帖 • 1 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    108 引用 • 295 回帖
  • 音乐

    你听到信仰的声音了么?

    62 引用 • 512 回帖
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    167 引用 • 408 回帖 • 487 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    93 引用 • 122 回帖 • 619 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    76 引用 • 258 回帖 • 627 关注
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    15 引用 • 7 回帖
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖 • 1 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 36 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    291 引用 • 4495 回帖 • 661 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4601 回帖 • 709 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    24 引用 • 242 回帖 • 2 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    142 引用 • 442 回帖
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    98 引用 • 903 回帖