Redis命令笔记
一、string类型:
(1)set :设置key对应的值为string类型的value,例:set name helloworld
(2)get :获取key对应的值为string类型的value,例:get name
(3)setnx : 如果key已经存在,返回0设置失败,nx即not exist,例: setnx name helloworld
(4)setex : 设置key的有效期, 例:setex name 10 helloworld (10秒)
(5)setrange :替换value的字符, 例:setrange name 5 hiyou
(6)mset :设置多个,失败返回0全部不成功,例:mset name1 hello name2 9
(7)msetnx :设置多个,如果key已经存在,返回0全部不成功,例:msetnx name3 hello name2 9
(8)getset :返回旧值设置新值,例:getset name hiyou
(9)getrange :获取子字符串,例:getrange name 5 10(从第5个截取到第10个字符)
(10)mget :获取多个,例:mget name1 name2
(11)incr :数值自增1,返回自增后的值,例:incr name2
(12)incrby :数值自增n(可为负值),返回自增后的值,例:incr name2 5
(13)decr :数值自减1,返回自减后的值,例:decr name2 5
(14)decrby :数值自减n(可为负值),返回自减后的值,例:decrby name2 5
(15)append :给value追加字符串,返回新增加后字符串长度,例:append name hi
(16)strlen :获取字符串长度,例:strlen name
二、hash类型:string类型的field和value映射表,适合存对象
(1)hset:设置hash(表) field(字段)的值,例:hset biao ziduan1 hello
(2)hget:获取hash(表) field(字段)的值,例:hget biao ziduan1
(3)hsetnx:设置hash(表) field(字段)的值,如果已经存在,返回0设置失败,例:hsetnx biao ziduan1 hello
(4)hmset:设置多个 field(字段)的值,例:hmset biao ziduan1 hello ziduan2 world
(5)hmget:获取多个 field(字段)的值,例:hmget biao ziduan1 ziduan2
(6)hincrby:hash(表) field(字段)数值自增n(可为负值),返回自增后的值,例:hincrby biao ziduan1 5
(7)hexists:判断hash(表)的field(字段)自否存在,0不存在,1存在,例:hexists biao ziduan1
(8)hlen:获取hash(表)的field(字段)数,例:hlen biao
(9)hdel:删除ash(表) 的field(字段),例:hdel biao ziduan1
(10)hkeys:获取hash(表)所有的field(字段),例:hkeys biao
(11)hvals:获取hash(表)所有的值,例:hvals biao
(12)hgetall:获取hash(表)所有的field(字段)和值,例:hgetall biao
三、list类型:链表机构,主要功能是push、pop、获取一个范围的所有值等,操作key理解为链表的名字。redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加、删除元素,这样list既可以作为栈,又可以作为队列。
(1)lpush:在key对应的list的头部添加字符元素,例:lpush list hello
(2)rpush:在list的尾部添加字符元素,例:rpush list world
(3)lrange:获取list里的值,例:lrange list 0 -1(-1代表最后);
(4)linsert:在list特定位置添加字符串,例:linsert list before hi nihao
(5)lset:替换list中指定下标的元素,例:lset list 2 lu
(6)lrem:list中删除n个和value相同的元素(n<0从尾删除,n=0全部删除),例:lrem list 1 hi
(7)ltrim:保留指定key的值范围内的数据,其余的删掉,例:ltrim list 2 3
(8)lpop:从list头部删除元素,返回删除值,例:lpop list
(9)rpop:从list尾部删除元素,返回删除值,例:rpop list
(10)rpoplpush:从第一个list的尾部移除元素并添加到第二个list头部,返回该元素,例:rpoplpush list1 list2
(11)lindex:返回list中index位置的元素,例:lindex list 2
(12)llen:返回list元素个数,例:llen list
四、set类型:是string类型的无序集合。通过hash tables实现,添加、删除和查找的复杂度都是0(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
(1)sadd:向集合中添加元素,例:sadd name hello
(2)smembers:获取集合的元素,例:smembers name
(3)srem:删除元素,例:srem name hello
(4)spop:随机删除一个元素,例:spop name
(5)sdiff:返回两个集合的差集,例:sdiff name1 name2 (name1-name2)
(6)sdiffstore:返回差集,将差集存入另一个集合,例 :sdiffstore name3 name1 name2
(7)sinter:返回两个集合的交集,例:sinter name1 name2
(8)sinterstore:返回交集,将交集存入另一个集合,例 :sinterstore name3 name1 name2
(9)sunion:返回两个集合的并集,例:sunion name1 name2
(10)sunionstore:返回并集,将并集存入另一个集合,例 :sunionstore name3 name1 name2
(11)smove:将元素从一个集合移到另一个集合,例:smove name1 name2 hi
(12)scard:获取集合元素个数,例:scard name
(13)sismember:判断集合中是否存在该元素,例:sismember name hi
(14)srandmember:随机返回集合的一个元素,例:srandmember name
五、sorted set类型:有序集合,set的升级版,增加了顺序属性,这一属性在增加修改元素时可以指定,每次指定后,zset会自动按新的值调整顺序。
(1)zadd:向集合中添加元素,该元素若存在,则更新其顺序,例:zadd name 1 hello
(2)zrange:获取集合元素,例:zrange name 0 -1 withscores
(3)zrem:删除指定元素,例:zrem name hi
(4)zincrby:如果集合中存在该元素,则该元素的下标增加n,否则向该集合中添加该元素,其下标增值为n,例:zincrby name 2 hi
(5)zrank:从小到大排序后,返回元素的下标,例:zrank name hi
(6)zrevrange:从大到小排序后,返回所有元素,例:zrevrange name hi
(7)zrangebyscore:根据下标范围,获取元素,例:zrangebyscore name 2 3 withscores
(8)zcount:根据下标范围,获取元素数,例:zcount name 2 3
(9)zcard:获取集合元素总数,例:zcard name
(10)zremrangebyrank:根据下标范围,删除元素,例:zremrangebyrank name 2 3
(11)zremrangebyscore:根据顺序范围,删除元素,例:zremrangebyscore name 2 3
六、键值相关命令
(1)keys:满足给定pattren的所有key,例:keys *
(2)exists:确认一个key是否存在,例:exists name
(3)del:删除一个key,例:del name
(4)expire:设置一个key的过期时间,例:expire name 10
(5)move:将当前的key转移到其他数据库,例:move name 1
(6)select:选择数据库,例:select 0 (选择当前数据库,共0-15)
(7)persist:移除给定的过期时间,例:persist name
(8)randomkey:随机返回key空间的一个key,例:randomkey
(9)rename:重命名key,例:rename name1 name2
(10)type:返回key的类型,例:type name
七、服务器的相关命令
(1)ping:测试连接是否存活,例:ping
(2)echo:输出,例:echo hello
(3)dbsize:返回当前数据库中key的数目,例:dbsize
(4)info:获取服务器的信息和统计,例:info
(5)config get:实时转存收到的请求,例:config get name
(6)flushdb:删除当前数据库的所有key,例:flushdb
(7)flushall:删除所有数据库的所有key,例:flushall
Redis命令笔记的更多相关文章
- Redis学习笔记(二)-key相关命令【转载】
转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string, ...
- Redis学习笔记(3)——Redis的命令大全
Redis是一种nosql数据库,常被称作数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted se ...
- redis实战笔记(3)-第3章 Redis命令
第3章 Redis命令 本章主要内容 字符串命令. 列表命令和集合命令 散列命令和有序集合命令 发布命令与订阅命令 其他命令 在每个不同的数据类型的章节里, 展示的都是该数据类型所独有的. 最 ...
- Redis学习笔记--常用命令
以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...
- Redis学习笔记(十一) 命令进阶:Connection(连接)
原文链接:http://doc.redisfans.com/connection/index.html auth password 有时候处于安全性考虑,我们可以使用密码来保护redis服务器,每次连 ...
- redis 学习笔记(6)-cluster集群搭建
上次写redis的学习笔记还是2014年,一转眼已经快2年过去了,在段时间里,redis最大的变化之一就是cluster功能的正式发布,以前要搞redis集群,得借助一致性hash来自己搞shardi ...
- Redis学习笔记~目录
回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). ...
- Redis学习笔记4-Redis配置详解
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...
- Redis学习笔记7--Redis管道(pipeline)
redis是一个cs模式的tcp server,使用和http类似的请求响应协议.一个client可以通过一个socket连接发起多个请求命令.每个请求命令发出后client通常会阻塞并等待redis ...
随机推荐
- selenium:org.openqa.selenium.WebDriverException: f.QueryInterface is not a function
今天用selenium2遇到问题 org.openqa.selenium.WebDriverException: f.QueryInterface is not a function 查了好久最后终于 ...
- 利用 HashSet 去过滤元素是否重复
HashSet<Integer> hashSet = new HashSet<Integer>(); for (int i = resultDoctorDetails.size ...
- Android MediaMetadataRetriever 读取多媒体文件信息,元数据(MetaData)
音乐播放器通常需要获取歌曲的专辑.作者.标题.年代等信息,将这些信息显示到UI界面上. 1.一种方式:解析媒体文件 命名空间:android.media.MediaMetadataRetrieve ...
- Python中的map( )和reduce( )
1.变量可以指向函数,也可以使用变量和参数的形式完成函数调用. 2.那么函数名是什么呢?函数名其实就是指向函数的变量!对于abs()这个函数,完全可以把函数名abs看成变量,它指向一个可以计算 ...
- WEB前端工程师(实践)制作天气预报难度:简单
需要准备:jQuery Bootstrap 天气预报API(本文中使用API可能会失效请灵活运用) CSS样式可以你自己去写这里只提出jQuery 请求数据和解析JSON数据 { "resu ...
- 自定义 TableViewCell 的分割线
刚开始自定义 tableViewCell 的时候,用的是直接在 cell 上加一张 imageView 的方法,如果在点击 cell 的时候有页面的跳转,这样做没什么问题,但是,如果在点击 cell ...
- 嵌入式linux下如何尽快播放开机音乐
今天在考虑如何尽快启动一个应用程序,播个开机音乐什么的. 最开始的启动流程是这样的,bootloader 启动kernel,kernel跑完挂载文件系统, 然后会执行/init,而这个init 是指向 ...
- 导入导出Excel工具类ExcelUtil
前言 前段时间做的分布式集成平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出 本项目的持久化层用的是JPA(底层用hibe ...
- 微信支付:JSAPI支付一直提示URL未注册
今天意外碰上了这个问题,想想微信的坑真多…… 解决办法: 首先要看微信公众号里的 支付授权目录 是否已正确填写,还要验证 url大小写 必须相同 其次查看一下自己请求的地址是否与上面填写的是否一样!u ...
- CSS篇之动画(2)
animation-name(自定义动画) name为动画名称.不要用中文,尽量用与动画相关的名称.元素所应用的动画名称,必须与规则@keyframes配合使用,因为动画名称由@keyframes定义 ...