Redis的常用命令及数据类型
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的常用命令及数据类型相关推荐
- Redis初学:4(Redis的常用命令)
Redis的常用命令 查看所有key keys * 如下图: 插入key set key value 如下图: 取出key对应的value值 get key 如下图: 查看某个key是否存在 exis ...
- Redis 中常用命令
Redis 中常用命令 keys 返回满足给定 pattern 的所有 key. 127.0.0.1:6379> keys *1) "name2"2) "myzse ...
- Linux下安装redis以及常用命令
https://blog.csdn.net/zgf19930504/article/details/51850594 安装: 1.获取redis资源 wget http://download.redi ...
- 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令
Redis常用命令 Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以再Linux终端使用. 键值相关命令: Keys:返回满足给定pattern的所有key 用表达式*表 ...
- 【CentOS7安装Redis及常用命令】
目录 一. 背景 二. 安装gcc依赖 三. 下载Redis 3.1 下载方式1:官网下载redis 3.2 下载方式2:wget获取redis 四. 安装 五. 启动 5.1 前台启动(不推荐) 5 ...
- redis的常用命令及实例讲解
使用命令行操作redis 数据类型 字符串String 列表list 使用双向循序链表实现(LinkedList) 散列 Hash 一般应用于将redis作为分布式缓存,存储数据库中的数据对象 集合s ...
- un7.28:redis客户端常用命令。
安装完成Redis,我们就可以操作Redis,实现数据的CRUD(增删改查)了.这需要用到Redis客户端常用的一些命令,我给大家分享最常用的一些. 一.Redis命令行客户端 1.输入命令进入,命令 ...
- 2、Redis的常用命令
一.Redis的全局命令操作 1.查看所有键 keys * -- 也可以模糊搜索查询,但一般不推存 keys s* 2.查看键总数 dbsize 3.检查键是否存在 exists key 4.删除键, ...
- Redis HyperLogLog常用命令
基数并不是存储元素,存储元素消耗内存空间比较大,而是给某一个有重复元素的数据集合(一般是很大的数据集合)评估需要的空间单元数,所以它没有办法进行存储,加上在工作中用得不多,我们要介绍一下 Redis ...
最新文章
- python如何输入数字赋值_三、python语法(定义,赋值,注释,输入输出)
- c++ mat to numpy array
- 五分钟创建一个自己的NPM包
- 浅谈JavaScript 面向对象编程[转]
- SAP Spartacus里的HTTPErrorInterceptor的单元测试设计原理
- Linux查看系统各类信息
- 对号入座:大学助教、讲师、副教授、教授图鉴
- [iOS]swift版内购
- cnn 预测过程代码_代码实践 | CNN卷积神经网络之文本分类
- Linux 线程安全常用的锁机制
- 使用GDAL将下载的Google卫星图像转为带坐标的tif
- android开发那些事儿(五)-通用流行框架大全
- 解决本地工具无法连接服务器上的mysql的问题
- 高性能计算GPU解决方案系列课程一--高性能计算简介
- Python汉字转拼音-拼音转汉字的效率测评
- JAVA分布式架构设计实例
- AcWing 1183电力(Tarjan求割点)
- 自然语言处理入门 第一章 新手上路
- 5类人最适合做程序员,你属于哪一类?
- 打怪小游戏 勇者打恶龙1.1
热门文章
- pxe装机dhcp获取不到_关于PXE服务器环境搭建流程中遇到的问题及解决方法
- 【机器视觉学习笔记】最近邻插值实现图片任意角度旋转(C++)
- 给std::string增加format函数
- 前端学习(3076):vue+element今日头条管理-分支的使用
- 前端学习(3069):vue+element今日头条管理-loding处理
- [html] 举例说明html的修饰元素有哪些?
- [html] 如何设置打印尺寸?
- [vue] v-if和v-for的优先级是什么?如果这两个同时出现时,那应该怎么优化才能得到更好的性能?
- [css] clear属性只对块级元素有效么?为何无法应用于行内元素?
- 前端学习(2684):重读vue电商网站5之登录页面总结如何进行表单验证