原文:https://www.cnblogs.com/lonelyxmas/p/9073928.html

  如果还不懂安装的,请看 Windows环境下安装Redis

Redis一共支持五种数据类型

1、string(字符串)
2、hash(哈希)
3、list(列表)
4、set(集合)
5、zset(sorted set 有序集合)

一、string

string(字符串),是redis最基本的数据类型,一个key对应一个value,需要注意是一个键值最大存储512MB。

  1. 128.127.0.0.1:6379> set key "hello world"
  2. OK
  3. 127.0.0.1:6379> get key
  4. "hello world"
  5. 127.0.0.1:6379> getset key "nihao"
  6. "hello world"
  7. 127.0.0.1:6379> mset key1 "hi" key2 "nihao" key3 "hello"
  8. OK
  9. 127.0.0.1:6379> get key1
  10. "hi"
  11. 127.0.0.1:6379> get key2
  12. "nihao"
  13. 127.0.0.1:6379> get key3
  14. "hello"

相关命令介绍

set 为一个Key设置value(值)
get 获得某个key对应的value(值)
getset 为一个Key设置value(值)并返回对应的值
mset 为多个key设置value(值)

二、hash

hash(哈希),是一个键值对的集合, 是一个string类型的field和value的映射表,适合用于存储对象

  1. 128.127.0.0.1:6379> hset redishash 1 "001"
  2. (integer) 1
  3. 127.0.0.1:6379> hget redishash 1
  4. "001"
  5. 127.0.0.1:6379> hmset redishash 1 "001" 2 "002"
  6. OK
  7. 127.0.0.1:6379> hget redishash 1
  8. "001"
  9. 127.0.0.1:6379> hget redishash 2
  10. "002"
  11. 127.0.0.1:6379> hmget redishash 1 2
  12. 1) "001"
  13. 2) "002"

相关命令介绍

hset 将Key对应的hash中的field配置为value,如果hash不存则自动创建,
hget 获得某个hash中的field配置的值
hmset 批量配置同一个hash中的多个field值
hmget 批量获得同一个hash中的多个field值

三、list

  list(列表),是redis简单的字符串列表,它按插入顺序排序

  1. 128.127.0.0.1:6379> lpush word hi
  2. (integer) 1
  3. 127.0.0.1:6379> lpush word hello
  4. (integer) 2
  5. 127.0.0.1:6379> rpush word world
  6. (integer) 3
  7. 127.0.0.1:6379> lrange word 0 2
  8. 1) "hello"
  9. 2) "hi"
  10. 3) "world"
  11. 127.0.0.1:6379> llen word
  12. (integer) 3

相关命令介绍

lpush 向指定的列表左侧插入元素,返回插入后列表的长度
rpush 向指定的列表右侧插入元素,返回插入后列表的长度
llen 返回指定列表的长度
lrange 返回指定列表中指定范围的元素值

四、set

set(集合),是string类型的无序集合,也不可重复

  1. 128.127.0.0.1:6379> sadd redis redisset
  2. (integer) 1
  3. 127.0.0.1:6379> sadd redis redisset1
  4. (integer) 1
  5. 127.0.0.1:6379> sadd redis redisset2
  6. (integer) 1
  7. 127.0.0.1:6379> smembers redis
  8. 1) "redisset1"
  9. 2) "redisset"
  10. 3) "redisset2"
  11. 127.0.0.1:6379> sadd redis redisset2
  12. (integer) 0
  13. 127.0.0.1:6379> smembers redis
  14. 1) "redisset1"
  15. 2) "redisset"
  16. 3) "redisset2"
  17. 127.0.0.1:6379> smembers redis
  18. 1) "redisset1"
  19. 2) "redisset3"
  20. 3) "redisset"
  21. 4) "redisset2"
  22. 127.0.0.1:6379> srem redis redisset
  23. (integer) 1
  24. 127.0.0.1:6379> smembers redis
  25. 1) "redisset1"
  26. 2) "redisset3"
  27. 3) "redisset2"

相关命令介绍

sadd 添加一个string元素到key对应的set集合中,成功返回1,如果元素存在返回0
smembers 返回指定的集合中所有的元素
srem 删除指定集合的某个元素

五、zset

zset(sorted set 有序集合),是string类型的有序集合,也不可重复。

zset中的每个元素都需要指定一个分数,根据分数对元素进行升序排序;如果多个元素有相同的分数,则以字典序进行升序排序;因此,非常适合实现排名。

  1. 128.127.0.0.1:6379> zadd nosql 0 001
  2. (integer) 1
  3. 127.0.0.1:6379> zadd nosql 0 002
  4. (integer) 1
  5. 127.0.0.1:6379> zadd nosql 0 003
  6. (integer) 1
  7. 127.0.0.1:6379> zcount nosql 0 0
  8. (integer) 3
  9. 127.0.0.1:6379> zcount nosql 0 3
  10. (integer) 3
  11. 127.0.0.1:6379> zrem nosql 002
  12. (integer) 1
  13. 127.0.0.1:6379> zcount nosql 0 3
  14. (integer) 2
  15. 127.0.0.1:6379> zscore nosql 003
  16. "0"
  17. 127.0.0.1:6379> zrangebyscore nosql 0 10
  18. 1) "001"
  19. 2) "003"
  20. 127.0.0.1:6379> zadd nosql 1 003
  21. (integer) 0
  22. 127.0.0.1:6379> zadd nosql 1 004
  23. (integer) 1
  24. 127.0.0.1:6379> zrangebyscore nosql 0 10
  25. 1) "001"
  26. 2) "003"
  27. 3) "004"
  28. 127.0.0.1:6379> zadd nosql 3 005
  29. (integer) 1
  30. 127.0.0.1:6379> zadd nosql 2 006
  31. (integer) 1
  32. 127.0.0.1:6379> zrangebyscore nosql 0 10
  33. 1) "001"
  34. 2) "003"
  35. 3) "004"
  36. 4) "006"
  37. 5) "005"

相关命令介绍

zadd 向指定的sorteset中添加1个或多个元素
zrem 从指定的sorteset中删除1个或多个元素
zcount 查看指定的sorteset中指定分数范围内的元素数量
zscore 查看指定的sorteset中指定分数的元素
zrangebyscore 查看指定的sorteset中指定分数范围内的所有元素

六、键值相关的命令

  1. 128.127.0.0.1:6379> exists key
  2. (integer) 1
  3. 127.0.0.1:6379> exists key1
  4. (integer) 1
  5. 127.0.0.1:6379> exists key100
  6. (integer) 0
  7. 127.0.0.1:6379> get key
  8. "nihao,hello"
  9. 127.0.0.1:6379> get key1
  10. "hi"
  11. 127.0.0.1:6379> del key1
  12. (integer) 1
  13. 127.0.0.1:6379> get key1
  14. (nil)
  15. 127.0.0.1:6379> rename key key0
  16. OK
  17. 127.0.0.1:6379> get key
  18. (nil)
  19. 127.0.0.1:6379> get key0
  20. "nihao,hello"
  21. 127.0.0.1:6379> type key0
  22. string

exists   确认key是否存在
del        删除key
expire  设置Key过期时间(单位秒)
persist 移除Key过期时间的配置
rename 重命名key
type     返回值的类型

七、Redis服务相关的命令

  1. 128.127.0.0.1:6379> select 0
  2. OK
  3. 127.0.0.1:6379> info
  4. # Server
  5. redis_version:3.0.6
  6. redis_git_sha1:00000000
  7. redis_git_dirty:0
  8. redis_build_id:347e3eeef5029f3
  9. redis_mode:standalone
  10. os:Linux 3.10.0-693.el7.x86_64 x86_64
  11. arch_bits:64
  12. multiplexing_api:epoll
  13. gcc_version:4.8.5
  14. process_id:31197
  15. run_id:8b6ec6ad5035f5df0b94454e199511084ac6fb12
  16. tcp_port:6379
  17. uptime_in_seconds:8514
  18. uptime_in_days:0
  19. hz:10
  20. lru_clock:14015928
  21. config_file:/usr/local/redis/redis.conf
  22. -------------------省略N
  23. 127.0.0.1:6379> CONFIG GET 0
  24. (empty list or set)
  25. 127.0.0.1:6379> CONFIG GET 15
  26. (empty list or set)

slect 选择数据库(数据库编号0-15)
quit 退出连接
info 获得服务的信息与统计
monitor 实时监控
config get 获得服务配置
flushdb 删除当前选择的数据库中的key
flushall 删除所有数据库中的key

Redis学习之二 数据类型和相关命令的更多相关文章

  1. Redis学习笔记(二)-key相关命令【转载】

    转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string, ...

  2. redis学习教程二《四大数据类型》

    redis学习教程二<四大数据类型>  四大数据类型包括:字符串    哈希    列表   集合一 : Redis字符串         Redis字符串命令用于管理Redis中的字符串 ...

  3. redis 学习(二)-- 通用命令

    redis 学习(二)-- 通用命令 1. keys pattern 含义:查找所有符合给定模式(pattern)的key 命令 含义 keys * 遍历所有 key keys he[h-l]* 遍历 ...

  4. Redis学习笔记二 (BitMap算法分析与BitCount语法)

    Redis学习笔记二 一.BitMap是什么 就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身.我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省 ...

  5. redis学习-列表(list)常用命令

    redis学习-列表(list)常用命令   lpush:从列表左侧头部添加数据 rpush:从右侧尾部添加数据 lpop:从给左侧头部取出一个元素 rpop:从右侧尾部取出一个元素 lrange:取 ...

  6. Redis学习笔记(二)-key相关命令

    Redis支持的各种数据类型包括string,list ,set ,sorted set 和hash . Redis本质上一个key-value db,所以我们首先来看看他的key.首先key也是字符 ...

  7. redis学习(二) redis数据结构介绍以及常用命令

    redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...

  8. 分布式缓存技术redis学习(二)——详细讲解redis数据结构(内存模型)以及常用命令

    Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String.List.Hash.Set和Sor ...

  9. redis学习(二)——String数据类型

    一.概述 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的 ...

随机推荐

  1. LightGBM大战XGBoost,谁将夺得桂冠?

    引 言 如果你是一个机器学习社区的活跃成员,你一定知道 提升机器(Boosting Machine)以及它们的能力.提升机器从AdaBoost发展到目前最流行的XGBoost.XGBoost实际上已经 ...

  2. 使用VMware安装Ubuntu虚拟机,创建后开启显示黑屏的解决方法

    将使用的VMware-workstation-full-14.0.0.24051卸载改为使用VMware-workstation_full_12.1.1.6932. 安装VMware成功后,创建新的虚 ...

  3. Python——Django-form表单提交

    一.提交的注意事项 1. form不是from,所有获取用户输入的标签都应该放在form里面, input并且必须要有name属性 2. action属性控制往哪儿提交,method一般都设置成pos ...

  4. poj3436(拆点最大流)

    题意:给你p和n,p代表每台计算器需要几个部分组成,n代表有几个组装机器,接下来n行,每行第一个数代表这台机器能够每小时组装几台,剩下前三个数字表示使用这台机器需要的前置条件(0代表当前组装不能有这个 ...

  5. root密码重置、Linux目录结构和远程连接Linux

    一.root如何重置密码 1. 重启 Linux 系统主机并出现引导界面时,按下键盘上的 e 键进入内核编辑界面 2. 在 linux16 参数这行的最后面追加“rd.break”参数,然后按下 Ct ...

  6. ☆ [POI2007] ZAP-Queries 「莫比乌斯反演」

    题目类型:莫比乌斯反演 传送门:>Here< 题意:求有多少对正整数对\((a,b)\),满足\(0<a<A\),\(0<b<B\),\(gcd(a,b)=d\) ...

  7. [CTSC2008]网络管理 [整体二分]

    题面 bzoj luogu 所有事件按时间排序 按值划分下放 把每一个修改 改成一个删除一个插入 对于一个查询 直接查这个段区间有多少合法点 如果查询值大于等于目标值 进入左区间 如果一个查询无解 那 ...

  8. CentOS7安装jdk8及环境变量配置

    下载jdk8 这里可以使用Windows下载,然后传到虚拟机 进入jdk下载页面 https://www.oracle.com/technetwork/java/javase/downloads/in ...

  9. busybox编译

    sync.c:(.text.sync_main+0x7c): undefined reference to `syncfs'Coreutils—>sync选项去掉 nsenter.c:(.tex ...

  10. 【.net】未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法

    #错误描述: 在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报错: “未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序” # ...