redis 入门使用
一、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 入门使用的更多相关文章
- 安装redis入门
redis官网:redis.io redis版本用的是redis-3.2.2 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz $ ...
- redis入门笔记(2)
redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...
- redis入门笔记(1)
redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...
- Redis入门指南
随着互联网业务对性能需求日益强烈,作为Key/Value存储的Redis具有数据类型丰富和性能表现优异的特点.如果能够熟练地驾驭它,不管是把它用做缓存还是存储,对很多大型应用都很多帮助.新浪作为世界上 ...
- Redis入门教程:特性及数据类型的操作
虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门 ...
- 【原】Redis入门教程
最近在学习Redis,写几篇文章记录一下学习过程:Redis入门教程. 1.Redis基本概念 Redis Redis Keys Redis 基本数据类型 Redis基本操作 遍历操作 Pub-Sub ...
- windows下使用redis,Redis入门使用,Redis基础命令
windows下使用redis,Redis入门使用,Redis基础命令 >>>>>>>>>>>>>>>> ...
- Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)
Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 ...
- redis入门(15)redis的数据备份和恢复
redis入门(15)redis的数据备份和恢复
- redis入门(14)redis集群下的数据分区存储
redis入门(10)redis集群下的数据分区存储
随机推荐
- [BUUCTF]PWN13——ciscn_2019_n_8
[BUUCTF]PWN13--ciscn_2019_n_8 题目网址:https://buuoj.cn/challenges#ciscn_2019_n_8 步骤: 例行检查,32位,保护开的挺多,ca ...
- CF254A Cards with Numbers 题解
Content 有 \(2n\) 个数,让你找出两两相等的 \(n\) 对数的编号,或者方案不存在. 数据范围:\(1\leqslant n\leqslant 3\times 10^5,1\leqsl ...
- 从go程序中发消息给winform(C#)
背景: 1.服务端语言为GO,客户端语言为:C#(WinForm): 2.在客户端操执行长耗时任务时,服务器应该将后台日志或定时将心跳信息及时传递给客户端,这样方便用户查看服务器执行情况(重要). 一 ...
- docker安装artemis
Dockerfile # Licensed to the Apache Software Foundation (ASF) under one # or more contributor licens ...
- 【LeetCode】982. Triples with Bitwise AND Equal To Zero 解题报告(C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 【LeetCode】565. Array Nesting 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 【LeetCode】449. Serialize and Deserialize BST 解题报告(Python)
[LeetCode]449. Serialize and Deserialize BST 解题报告(Python) 标签: LeetCode 题目地址:https://leetcode.com/pro ...
- leetcode1261在受污染的二叉树中查找元素
题目 一颗二叉树,树根值为0,父节点为x,则左子值为2x+1,右子为2x+2.现在只有树的结构,所有值都变为-1被污染了.求污染前是否存在某个值. 构建一次树,查询会调用多次. 题解 这道题还是比较简 ...
- NetCore实现全局模型绑定异常信息统一处理
本文主要讲解NetCore如何使用中间件捕获模型绑定的异常信息 场景 在.NET Core 中请求中,如果参数的类型错误,我们在控制器的定义的方法是不会执行的,当我们需要捕获模型绑定的异常信息时,可以 ...
- Generative Adversarial Nets (GAN)
目录 目标 框架 理论 数值实验 代码 Generative Adversarial Nets 这篇文章,引领了对抗学习的思想,更加可贵的是其中的理论证明,证明很少却直击要害. 目标 GAN,译名生成 ...