一、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. java 多线程: Thread 锁ReentrantLock 常用方法

    注意 reentrantLock 和 同步代码块儿一样,同一个时刻只能一个线程获取锁,也就是共用锁的代码块部分,线程是顺序执行的 ReentrantLock 常用方法 getHoldCount获取当前 ...

  2. CentOS7.6 鲜为人知的/etc/resolv.conf 之 /etc/resolv.conf.save (保持/etc/resolv.conf不被修改:/etc/dhcp/dhclient-enter-hooks 无效之/etc/resolv.conf被清空的特殊案例)

    目的: 用户可以自定义/etc/resolv.conf内容,且不被系统修改. 常规方法1: /etc/sysconfig/network-scripts/ifcfg-eth0 网卡配置文件中增加PEE ...

  3. 10-2 bonding

    创建bonding设备的配置文件 centos8 /etc/sysconfig/network-scripts/ifcfg-bond0 NAME=bond0 TYPE=bond DEVICE=bond ...

  4. xcode使用spdlog(1.7)总结

    !!版权声明:本文为博主原创文章,版权归原文作者和博客园共有,谢绝任何形式的 转载!! 作者:mohist 注意️ 请选择对c++11支持完善的编译器, 因为spdlog一直更新. 本文演示环境: m ...

  5. soundcloud to mp3

    关于 本文将介绍一个在线网站,将songs 下载为mp3格式 注意, 大陆需要梯子. 没有?soundcloud无法打开 准备 soundcloud to mp3 一个来自soundcloud的歌曲链 ...

  6. 【LeetCode】5685. 交替合并字符串 Merge Strings Alternately (Python)

    作者: 负雪明烛 id: fuxuemingzhu 公众号:每日算法题 本文关键词:LeetCode,力扣,算法,算法题,交替合并字符串,Merge Strings Alternately,刷题群 目 ...

  7. 【stm32】基于hal库使用野火指南者esp8266 WIFI模块进行TCP传输

    UART.c #include "stm32f1xx_it.h" #include "LED.h" #include "UART.h" #i ...

  8. Redisson分布式锁学习总结:可重入锁 RedissonLock#lock 获取锁源码分析

    原文:Redisson分布式锁学习总结:可重入锁 RedissonLock#lock 获取锁源码分析 一.RedissonLock#lock 源码分析 1.根据锁key计算出 slot,一个slot对 ...

  9. 关于 base64 编码

    一.什么是Base64编码 Base64是一种用64个字符来表示任意二进制数据的方法.它是一种编码方式,而非加密方式.它通过将二进制数据转变为64个"可打印字符",完成了数据在HT ...

  10. Android开发 ListView(垂直滚动列表项视图)的简单使用

    效果图: 使用方法: 1.在布局文件中加入ListView控件: <?xml version="1.0" encoding="utf-8"?> &l ...