Redis 各数据类型的常用操作

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

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 赞助。

    286 引用 • 248 回帖

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • PHP

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

    182 引用 • 408 回帖 • 490 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    63 引用 • 289 回帖
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 529 关注
  • OneNote
    1 引用 • 3 回帖
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 2 关注
  • 印象笔记
    3 引用 • 16 回帖
  • 安全

    安全永远都不是一个小问题。

    203 引用 • 818 回帖
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 290 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 552 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 7 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    20 引用 • 7 回帖
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    733 引用 • 1280 回帖
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 815 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 4 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    133 引用 • 1124 回帖 • 109 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 760 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    107 引用 • 153 回帖
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 447 关注
  • 智能合约

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

    1 引用 • 11 回帖 • 2 关注
  • OpenCV
    15 引用 • 36 回帖 • 5 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 233 回帖
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 504 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    239 引用 • 224 回帖 • 1 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 2 关注