一、Redis 数据类型及结构特点

Redis 最常见的5中数据结构有 String(字符串),List(列表),Set(集合),Hash(散列),Sorted Sets (有序集合),下表简单总结了五种数据结构的内部组成及特点。

 二、Redis 数据类型常用命令

1  String 常用命令

1.1    SET 为指定建设置值 Set key value

1.2    get 获取指定建的值 get key

1.3    mset 为多个字符串设置对应的值 a 111 b 222 c 333

1.4    Mget获取多个字符串对应的值 get a b c

1.5    getset 获取指定字符串旧值并设置新值

1         127.0.0.1:6379> getset a 888

2         "111"

3         127.0.0.1:6379> get a

4         "888"

1.6    keys * 获取所有的key

1.7    Dump 返回序列化的键

127.0.0.1:6379> dump a

"\x00\xc0o\t\x00\x1f<t\x0e\xeb'\x9cE"

1.8    exists判断建是否存在

127.0.0.1:6379> exists a

(integer) 1

127.0.0.1:6379> exists f

(integer) 0

1.9    type返回键的类型

127.0.0.1:6379> type a

String

1.10RENAME重命名键

127.0.0.1:6379> RENAME a A

OK

127.0.0.1:6379> get a

(nil)

127.0.0.1:6379> get A

"111"

1.11expire设置键的到期时间

127.0.0.1:6379> expire A 60

(integer) 1

1.12TTL查看到期时间

127.0.0.1:6379> TTL A

(integer) 37

127.0.0.1:6379> TTL A

(integer) 12

127.0.0.1:6379> TTL A

(integer) 1

127.0.0.1:6379> TTL A

(integer) -2

1.13Persist 移除到期时间

127.0.0.1:6379> expire b 180

(integer) 1

127.0.0.1:6379> TTL b

(integer) 171

127.0.0.1:6379> persist b

(integer) 1

127.0.0.1:6379> TTL b

(integer) -1

1.14Del 移除键

127.0.0.1:6379> keys *

1) "c"

2) "b"

127.0.0.1:6379> del b

(integer) 1

127.0.0.1:6379> keys *

1) "c"

1.15getrange以字符串下标获取字符串指定长度的值

127.0.0.1:6379> getrange a 0 1

"88"

1.16append追加值

127.0.0.1:6379> append a 999

(integer) 6

2    List列表常用命令

2.1      rpush从列表右侧添加值

127.0.0.1:6379> rpush fruit orange

(integer) 1

2.2      lrange从列表获指定长度的值

127.0.0.1:6379> lrange fruit 0 -1

1) "orange"

2.3      rpush从列表右侧添加值

127.0.0.1:6379> rpush fruit apple

(integer) 2

127.0.0.1:6379> rpush fruit banner

(integer) 3

127.0.0.1:6379> rpush fruit berry

(integer) 4

127.0.0.1:6379> rpush fruit guava

(integer) 5

2.4      rpop移除最右边的值

127.0.0.1:6379> rpop fruit

"guava"

127.0.0.1:6379> lrange fruit 0 -1

1) "orange"

2) "apple"

3) "banner"

4) "berry"

3   Sets集合常用操作命令

3.1      Sadd将一个或多个元素加到集合

127.0.0.1:6379> sadd set001 s1

(integer) 1

127.0.0.1:6379> sadd set001 s5 s6 s7

(integer) 3

3.2      scard查看集合长度

127.0.0.1:6379> scard set001

(integer) 7

3.3      Smembers获取集合所有元素

127.0.0.1:6379> smembers set001

1) "s4"

2) "s3"

3) "s1"

4) "s2"

5) "s6"

6) "s5"

7) "s7"

3.4      sismember判断一个值是否在集合中

127.0.0.1:6379> sismember set001 s1

(integer) 1

127.0.0.1:6379> sismember set001 s8

(integer) 0

3.5      srem移除一个或多个

127.0.0.1:6379> srem set001 s1 s2

(integer) 2

3.6      smove将元素重一个集合 移动到另一个集合

127.0.0.1:6379> smove set001 set002 s7

(integer) 1

127.0.0.1:6379> smembers set002

1) "s001"

2) "s7"

4    hash散列常用操作命令

4.1      hset为散列设置值

127.0.0.1:6379> hset hash001 name zhangsan

(integer) 1

127.0.0.1:6379> hset hash001 age 28 class 3

(integer) 2

4.2      Hget获取指定键的值

127.0.0.1:6379> hget hash001 name

"zhangsan"

4.3      Hmget获取多个键的值

127.0.0.1:6379> hmget hash001 name age class

1) "zhangsan"

2) "28"

3) "3"

4.4      hgetall获取所有键值

127.0.0.1:6379> hgetall hash001

1) "name"

2) "zhangsan"

3) "age"

4) "28"

5) "class"

6) "3"

4.5      hkeys获取所有键

127.0.0.1:6379> hkeys hash001

1) "name"

2) "age"

3) "class"

4.6      hvals获取所有值

127.0.0.1:6379> hvals hash001

1) "zhangsan"

2) "28"

3) "3"

4.7      hdel删除指定建值

127.0.0.1:6379> hdel hash001 name

(integer) 1

5  Sorted Sets有序集合

5.1      ZADD 为有序集合添加一个或多个键值

127.0.0.1:6379> zadd class 1 zhangsan 2 lisi 3 wangwu

(integer) 3

5.2      zcard获取集合中元素的个数

127.0.0.1:6379> zcard class

(integer) 3

5.3      Zrange指定下标内的元素

127.0.0.1:6379> zrange class 1 2

1) "lisi"

2) "wangwu"

5.4      zrem移除指定元素

127.0.0.1:6379> zrem class zhangsan

(integer) 1

redis 入门使用的更多相关文章

  1. 安装redis入门

    redis官网:redis.io redis版本用的是redis-3.2.2 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz $ ...

  2. redis入门笔记(2)

    redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...

  3. redis入门笔记(1)

    redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...

  4. Redis入门指南

    随着互联网业务对性能需求日益强烈,作为Key/Value存储的Redis具有数据类型丰富和性能表现优异的特点.如果能够熟练地驾驭它,不管是把它用做缓存还是存储,对很多大型应用都很多帮助.新浪作为世界上 ...

  5. Redis入门教程:特性及数据类型的操作

    虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门 ...

  6. 【原】Redis入门教程

    最近在学习Redis,写几篇文章记录一下学习过程:Redis入门教程. 1.Redis基本概念 Redis Redis Keys Redis 基本数据类型 Redis基本操作 遍历操作 Pub-Sub ...

  7. windows下使用redis,Redis入门使用,Redis基础命令

    windows下使用redis,Redis入门使用,Redis基础命令 >>>>>>>>>>>>>>>> ...

  8. Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)

    Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 ...

  9. redis入门(15)redis的数据备份和恢复

    redis入门(15)redis的数据备份和恢复

  10. redis入门(14)redis集群下的数据分区存储

    redis入门(10)redis集群下的数据分区存储

随机推荐

  1. 什么是网络图(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 名词解释:网络图-- 咦?书里没写? 看来张同学也不喜欢名词解释(猜的)哈哈哈-- 但是! 人家写了两种网络图:双代号网络 ...

  2. C++ happens-before 关系是不可传递的

    P0668R4 对此进行了解释 The definition of plain happens-before became unpleasantly complicated with the intr ...

  3. THUSC 2021 游记

    想了想不往博客园放不行,还是放上来了. 原文 \[\texttt{Brief Introduction} \] 众所周知,THUSC2021 5 月 15-16 日在杭州市 XJ 中学举办,然而由于 ...

  4. LuoguB2034 计算 2 的幂 题解

    Content 给定整数 \(n\),求 \(2^n\). 数据范围:\(0\leqslant n<31\). Solution 第一种各位都能想得到的,直接循环 \(n\) 次,往答案里面乘以 ...

  5. JAVA运行报错 [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;

    执行 String[] rwords = (String[]) list.toArray(); 报错[Ljava.lang.Object; cannot be cast to [Ljava.lang. ...

  6. qt5之设置无边窗口移动

    Note qt version: 5.12 qt creator: 4.13 本文将介绍 设置无边窗口和设置窗口的移动 你要知道: QDialog 和 QMainWindow都是 QWidget的派生 ...

  7. 【LeetCode】1472. 设计浏览器历史记录 Design Browser History (Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 模拟法 日期 题目地址:https://leetcod ...

  8. 【LeetCode】632. Smallest Range 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/smallest ...

  9. 【LeetCode】95. Unique Binary Search Trees II 解题报告(Python)

    [LeetCode]95. Unique Binary Search Trees II 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzh ...

  10. Are Loss Functions All the Same?

    目录 概 主要内容 一些假设 损失函数 损失函数的统计性质 收敛速度 分类的界 Rosasco L, De Vito E, Caponnetto A, et al. Are loss function ...