Redis支持的五种数据类型

  • 字符串 (string)
  • 字符串列表 (list)
  • 散列 (hash)
  • 字符串集合 (set)
  • 有序字符串集合 (sorted-set)

key(键)

keys * 获取所有的key
select 0 选择第一个库
move myString 1 将当前的数据库key移动到某个数据库,目标库有,则不能移动
flush db      清除指定库
randomkey     随机key
type key      类型
set key1 value1 设置key
get key1    获取key
mset key1 value1 key2 value2 key3 value3
mget key1 key2 key3
del key1   删除key
exists key      判断是否存在key
expire key 10   10过期
pexpire key 1000 毫秒
persist key     删除过期时间

string (字符串)

  • String类型是以二进制进行操作,最多容量数据的长度是512M
set name cxx
get name
getrange name 0 -1        字符串分段
getset name new_cxx       设置值,返回旧值
mset key1 key2            批量设置
mget key1 key2            批量获取
setnx key value           不存在就插入(not exists)
setex key time value      过期时间(expire)
setrange key index value  从index开始替换value
incr age        递增
incrby age 10   递增
decr age        递减
decrby age 10   递减
incrbyfloat     增减浮点数
append          追加
strlen          长度
getbit/setbit/bitcount/bitop    位操作

hash(散列)

  • 每一个Hash可以储存(2^32-1)个:4294967295个键值对

  • String Key和String Value的map容器

hset myhash name cxx
hget myhash name
hmset myhash name cxx age 25 note "i am notes"
hmget myhash name age note
hgetall myhash               获取所有的
hexists myhash name          是否存在
hsetnx myhash score 100      设置不存在的
hincrby myhash id 1          递增
hdel myhash name             删除
hkeys myhash                 只取key
hvals myhash                 只取value
hlen myhash                  长度

list(字符串列表)

  • 经常用于消息队列的服务,多个程序之间的交互
lpush mylist a b c  左插入
rpush mylist x y z  右插入
lrange mylist 0 -1  数据集合
lpop mylist  弹出元素
rpop mylist  弹出元素
llen mylist  长度
lrem mylist count value  删除
lindex mylist 2          指定索引的值
lset mylist 2 n          索引设值
ltrim mylist 0 4         删除key
linsert mylist before a  插入
linsert mylist after a   插入
rpoplpush list list2     转移列表的数据

set(字符串集合)

  • Set集合中不允许出现重复的元素

  • 使用场景:

    1、跟踪一些唯一性数据:访问某博客的IP信息(将访问者的IP存入redis中)

    2、用于维护数据对象之间的关联关系(所有购买某一电子设备的用户的ID)

sadd myset redis
smembers myset       数据集合
srem myset set1         删除
sismember myset set1 判断元素是否在集合中
scard key_name       个数
sdiff | sinter | sunion myset1 myset2 操作:集合间运算:差集 | 交集 | 并集
srandmember          随机获取集合中的元素
spop                 从集合中弹出一个元素

sorted-set(有序字符串集合)

  • 与set类似,但每个成员都有一个关联的score属性,用于排序。成员不可以重复,score可以重复
  • sorted-set中的每一个成员都有一个分数与之关联,redis通过这个分数来为集合中的成员进行排序(成员必须唯一,但是分数可以重复)
  • Sorted-Set : 字符串集合,不允许元素重复。存储元素时需要关联存储一个对应的分数,分数用于排序。元素不可重复但分数可重复。成员在集合中的位置是有序的。
  • 使用场景:游戏排名、微博热点话题、构建索引数据等等
zadd zset 1 one
zadd zset 2 two
zadd zset 3 three
zincrby zset 1 one              增长分数
zscore zset two                 获取分数
zrange zset 0 -1 withscores     范围值
zrangebyscore zset 10 25 withscores 指定范围的值
zrangebyscore zset 10 25 withscores limit 1 2 分页
Zrevrangebyscore zset 10 25 withscores  指定范围的值
zcard zset  元素数量
Zcount zset 获得指定分数范围内的元素个数
Zrem zset one two        删除一个或多个元素
Zremrangebyrank zset 0 1  按照排名范围删除元素
Zremrangebyscore zset 0 1 按照分数范围删除元素
Zrank zset 0 -1    分数最小的元素排名为0
Zrevrank zset 0 -1  分数最大的元素排名为0
Zinterstore
zunionstore rank:last_week 7 rank:20150323 rank:20150324 rank:20150325  weights 1 1 1 1 1 1 1

转载于:https://www.cnblogs.com/Smbands/p/11459722.html

Redis的常用命令及数据类型相关推荐

  1. Redis初学:4(Redis的常用命令)

    Redis的常用命令 查看所有key keys * 如下图: 插入key set key value 如下图: 取出key对应的value值 get key 如下图: 查看某个key是否存在 exis ...

  2. Redis 中常用命令

    Redis 中常用命令 keys 返回满足给定 pattern 的所有 key. 127.0.0.1:6379> keys *1) "name2"2) "myzse ...

  3. Linux下安装redis以及常用命令

    https://blog.csdn.net/zgf19930504/article/details/51850594 安装: 1.获取redis资源 wget http://download.redi ...

  4. 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令

     Redis常用命令 Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以再Linux终端使用. 键值相关命令: Keys:返回满足给定pattern的所有key 用表达式*表 ...

  5. 【CentOS7安装Redis及常用命令】

    目录 一. 背景 二. 安装gcc依赖 三. 下载Redis 3.1 下载方式1:官网下载redis 3.2 下载方式2:wget获取redis 四. 安装 五. 启动 5.1 前台启动(不推荐) 5 ...

  6. redis的常用命令及实例讲解

    使用命令行操作redis 数据类型 字符串String 列表list 使用双向循序链表实现(LinkedList) 散列 Hash 一般应用于将redis作为分布式缓存,存储数据库中的数据对象 集合s ...

  7. un7.28:redis客户端常用命令。

    安装完成Redis,我们就可以操作Redis,实现数据的CRUD(增删改查)了.这需要用到Redis客户端常用的一些命令,我给大家分享最常用的一些. 一.Redis命令行客户端 1.输入命令进入,命令 ...

  8. 2、Redis的常用命令

    一.Redis的全局命令操作 1.查看所有键 keys * -- 也可以模糊搜索查询,但一般不推存 keys s* 2.查看键总数 dbsize 3.检查键是否存在 exists key 4.删除键, ...

  9. Redis HyperLogLog常用命令

    基数并不是存储元素,存储元素消耗内存空间比较大,而是给某一个有重复元素的数据集合(一般是很大的数据集合)评估需要的空间单元数,所以它没有办法进行存储,加上在工作中用得不多,我们要介绍一下 Redis ...

最新文章

  1. python如何输入数字赋值_三、python语法(定义,赋值,注释,输入输出)
  2. c++ mat to numpy array
  3. 五分钟创建一个自己的NPM包
  4. 浅谈JavaScript 面向对象编程[转]
  5. SAP Spartacus里的HTTPErrorInterceptor的单元测试设计原理
  6. Linux查看系统各类信息
  7. 对号入座:大学助教、讲师、副教授、教授图鉴
  8. [iOS]swift版内购
  9. cnn 预测过程代码_代码实践 | CNN卷积神经网络之文本分类
  10. Linux 线程安全常用的锁机制
  11. 使用GDAL将下载的Google卫星图像转为带坐标的tif
  12. android开发那些事儿(五)-通用流行框架大全
  13. 解决本地工具无法连接服务器上的mysql的问题
  14. 高性能计算GPU解决方案系列课程一--高性能计算简介
  15. Python汉字转拼音-拼音转汉字的效率测评
  16. JAVA分布式架构设计实例
  17. AcWing 1183电力(Tarjan求割点)
  18. 自然语言处理入门 第一章 新手上路
  19. 5类人最适合做程序员,你属于哪一类?
  20. 打怪小游戏 勇者打恶龙1.1

热门文章

  1. pxe装机dhcp获取不到_关于PXE服务器环境搭建流程中遇到的问题及解决方法
  2. 【机器视觉学习笔记】最近邻插值实现图片任意角度旋转(C++)
  3. 给std::string增加format函数
  4. 前端学习(3076):vue+element今日头条管理-分支的使用
  5. 前端学习(3069):vue+element今日头条管理-loding处理
  6. [html] 举例说明html的修饰元素有哪些?
  7. [html] 如何设置打印尺寸?
  8. [vue] v-if和v-for的优先级是什么?如果这两个同时出现时,那应该怎么优化才能得到更好的性能?
  9. [css] clear属性只对块级元素有效么?为何无法应用于行内元素?
  10. 前端学习(2684):重读vue电商网站5之登录页面总结如何进行表单验证