redis的入门篇---五种数据类型及基本操作
查看所有的key
keys *
清空所有的key
flushall
检查key是否存在
exists key
设置已存在的key的时长
expire key //设置key为10s
查看key还剩多少时长
ttl key //-1是永久 -2是不存在
查看key的类型
type key
随机取出一个key
randomkey
重命名key
rename key newkey //如果key存在 直接覆盖 renamenx key newkey //如果key存在 则失败 返回0
设置一定时间的key
setex key seconds val //key 时间 val psetex key seconds val //和上面的功能一样 只不过多加一个p 区别是上面的时间是秒级别的 这个是毫秒级别的
字符串类型:
得到指定范围的字符串
getrange key //闭合区间 取三个长度的字符串
得到旧的值并赋予新的值
getset key newval //比如说get a 得到A
//然后getset a AA 还是得到A
//但此时get a 得到的是AA
在字符串后面追加字符串
append key append //意思是在key的val后面加上append字符串
hash哈希(其实就是一个Map<String,Map<String,String>>格式的数据结构)
设置值
hset map name liuzhonghua //成功1
检验是否存在
hexists map name //存在1 不存在0
得到值
hget map name //返回liuzhonghua
得到key所有的值
hgetall map //返回 下面的这中格式 key val key val name
liuzhonghua
age sex
man
得到值里面所有的key 和所对应的val
hkeys map //返回 name
age
sex
hvals map
liuzhonghua
23
man
list列表
lpush list //lpush 特点是最后放进去的总是在第一位
取一定范围的list值和特定索引的值
lrange list //得到1 2 3 lindex list //得到4
移除最后一个元素和第一个元素
lpop list //移除第一个元素 6 返回6 rpop list //移除最后一个元素 1 返回1
将指定下标元素替换
lset list 0 a //将下标为0的元素替换成a
删除元素,返回元素个数
LREM KEY_NAME COUNT VALUE // 被移除元素的数量。 列表不存在时返回 0 。
set列表(特点:无序,不保证你放进去的和得到的顺序一致,值不重复)
增加
sadd set a b c d //key是set val 是 a b c d
得到这个集合的数量
scard set //返回4
查看key的val
smembers set //a b c d
两个集合的差集
sdiff set1 set2 //意思是set1 里面的值减去 set2里面的值 得到set1里面的值
两个集合的交集
sinter set1 set2
两个集合的并集
sunion set1 set2
返回指定数量的随机数
srandmember set1 //随机返回set1的两个值
判断是否是集合的元素
sismember set1 a //如果是 返回1 否则返回0
移除指定的val
srem set1 a b //移除set1集合里面的a和b 返回成功的个数 2
随机移除set里面的val 并返回移除的值
spop set1 //随机返回一个值
zset (有序集合,不重复)
增加(还得必须这样写 真操蛋 看不懂 后面都是一对一对的 艹,,,我懂了,100这样的数值是必须写的,因为是靠他们排序的,我们平常获取的值都是abc
这样的,切记)填坑,很有用这样的属性!!!!!!!!!!!!!
zadd zset a b c // key是zset a的分数是100 b的分数是200 c的分数是300
查看有几个元素
zcard zset //返回3
查看指定的某个值(还得必须这样写 )
zscore zset a //返回100
返回符合指定区间的数量
zcount zset //返回2 闭合区间 就是说a 和 b 他俩所对应的值在0和200之间 符合要求
查看索引
zrank zset a //0
zrank zset b //1
zrank zset c //2
增加值
zincrby zset a //意思是让a的值增加1000 当然a的顺序也会改变,因为zset是有序的 是根据他所对应的值来排序的
获取指定的元素
zrange zset //意思是获取zset的前100个元素 a b c 如果想获取一对一对的 比如说 a 100 b 200 c 300 zrange zset 0 100 withscores
高能预警:介绍几个常用的方法 (zset有序集合的方法)
Redis Zremrangebyrank 命令: http://www.runoob.com/redis/sorted-sets-zremrangebyrank.html
Redis Zremrangebyrank 命令用于移除有序集中,指定排名(rank)区间内的所有成员。 返回 被移除成员的数量。
Redis Zrevrange 命令 : http://www.runoob.com/redis/sorted-sets-zrevrange.html
Redis Zrevrange 命令返回有序集中,指定区间内的成员。其中成员的位置按分数值递减(从大到小)来排列
redis的入门篇---五种数据类型及基本操作的更多相关文章
- <Redis> 入门二 五种数据类型的操作、通用key的操作、发布订阅
文档参考:http://www.redis.net.cn/ string - > key value 简单的keyvalue,常规计数:例如微博数,粉丝数 set -> key v ...
- redis五种数据类型的使用场景
string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...
- redis五种数据类型的使用(zz)
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- redis五种数据类型的使用
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.S ...
- Redis五种数据类型-设置key的过期时间
1.redis命令客户端 [root@localhost bin]# ./redis-cli 127.0.0.1:6379> #是否运行着 127.0.0.1:6379> ping PON ...
- Redis安装及五种数据类型
redis是非关系型数据库,也叫内存数据库.数据是键值对的形式,通过key查找value 安装Radis:6379 sudo apt-get update sudo apt-get install r ...
- Redis: Redis支持五种数据类型
ylbtech-Redis: Redis支持五种数据类型 Redis支持五种数据类型:string(字符串) ,hash(哈希),list(列表),set(集合)及zset(sorted set:有序 ...
- Redis支持的五种数据类型
redis支持的五种数据类型: 1.string(字符串) 2.hash(哈希) Redis hash 是一个键值(key=>value)对集合. Redis hash是一个string类型的f ...
- Redis学习笔记(3)—— 五种数据类型&keys的通用操作
一.Redis数据结构介绍 redis是一种高级的key-value的存储系统,其中的key是字符串类型,尽可能满足如下几点: 1)key不要太长,最好不要操作1024个字节,这不仅会消耗内存还会降低 ...
随机推荐
- Golang的格式化输出fmt.Printf
本文来源:Go by example. Golang的格式化输出 和 C语言的标准输出基本一样,但是增加了一些针对Golang语言的特有数据结构的格式化输出方式. 一下就是实例: package ma ...
- MySQL基础~~表结构操作
登录数据库服务器 mysql -h127.0.0.1 -uroot -p123456 创建数据库 create database test; 显示所有数据库 show databases; 指定要操作 ...
- Running kubernetes on windows
docker-for-desktop minikube GKE cluster(?) docker-for-desktop https://docs.docker.com/docker-for-win ...
- php多进程pcntl学习-僵尸进程
上个月写的文章,php多进程pcntl学习(一)现在发现并不完整,因为虽然提到了关闭子进程,但是并没有回收子进程,简单的说就是当子进程比父进程先退出,而父进程没对其做任何处理的时候,子进程将会变成僵尸 ...
- php实现常驻进程 多进程监控
php都是通过crontabd定时脚本处理队列的,面试被问到php如何常驻进程进行处理队列,想了半天这样不知道是否是一种方式 <?php function logs(){ file_put_co ...
- RocketMQ事务消息实战
我们以一个订单流转流程来举例,例如订单子系统创建订单,需要将订单数据下发到其他子系统(与第三方系统对接)这个场景,我们通常会将两个系统进行解耦,不直接使用服务调用的方式进行交互.其业务实现步骤通常为: ...
- Windows 安装补丁的另外一种方法
Windows的补丁安装时经常出现异常提示: 如果安装不上的话 可以使用dism的方式来进行安装: 具体方法: 1. 将补丁包 一般为msu 或者是exe文件,改成rar后缀,并且解压缩,获取cab文 ...
- hive视图
简化复杂的查询 员工好.姓名.月薪.年薪.在一个emp表中; 部门名称在dept的表中;并未年薪起了一个名字annlsal 查询视图 视图是一个虚表,是不存数据的
- Spark_RDD之基本RDD操作
1.基本转化操作 1.1最常用的两个转化操作时map()和filter(). map()接收一个函数,把这个函数用于RDD中的每个元素,将函数作用之后的结果作为结果RDD中元素的值. filte ...
- BZOJ1563 NOI2009诗人小G(动态规划+决策单调性)
设f[i]为前i行的最小不协调度,转移枚举这一行从哪开始,显然有f[i]=min{f[j]+abs(s[i]-s[j]+i-j-1-m)p}.大胆猜想有决策单调性就好了.证明看起来很麻烦,从略.注意需 ...