一、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. CF908A New Year and Counting Cards 题解

    Content 有 \(n\) 张卡牌,每张卡牌上只会有大小写字母和 \(0\sim 9\) 的阿拉伯数字.有这样一个描述:"如果卡牌正面写有元音字母(\(\texttt{A,E,I,O,U ...

  2. 交通运输类文档下载——JT/T 808-2019、JT/T 809-2019文档分享

    JT/T 808-2019.JT/T 809-2019文档分享 网盘:https://pan.baidu.com/s/1vfgenani8WR3in2lua3qWQ提取码:fktd 官网下载808协议 ...

  3. Kafka Eagle分布式模式

    1.概述 最近有同学留言,Kafka Eagle的分布式模式功能怎么使用,如何部署安装?今天笔者就为大家来详细介绍一下Kafka Eagle的分布式模式功能的安装和使用. 2.内容 首先,这里我们需要 ...

  4. VS2015 up3激活key

    密钥 专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2 企业版:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

  5. Windows串口之解决包含setupapi.h还提示找不到符号报错

    关于 本文演示环境: win10 1909 + VS2017 1. 错误信息 明明已经添加了头文件setupapi.h 和 库 setupapi.lib, 却还是提示报错,报错信息: 1>C:\ ...

  6. 【LeetCode】714. Best Time to Buy and Sell Stock with Transaction Fee 解题报告(Python & C++)

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

  7. Codeforces A. Orchestra

    A. Orchestra time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  8. 洛谷 P1439 【模板】最长公共子序列(DP,LIS?)

    题目描述 给出1-n的两个排列P1和P2,求它们的最长公共子序列. 输入输出格式 输入格式: 第一行是一个数n, 接下来两行,每行为n个数,为自然数1-n的一个排列. 输出格式: 一个数,即最长公共子 ...

  9. 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏01游戏窗口

    项目源码 项目源码 游戏配置信息类 Config.java 没什么解释的. package config; public class Config { public final static Stri ...

  10. 【项目管理】《IT项目管理》Kathy Schwalbe 第1章 总论

    博主:海底淤泥 1.为什么项目管理领域引起了大家的兴趣 1.更好控制财力.物力.人力资源 2.改进客户关系 3.缩短开发时间 4.降低成本和提高生产率 5.提高质量和可靠性 6.更大的边际利益空间 7 ...