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 ...
随机推荐
- Servlet规范简介——web框架是如何注入到Servlet中的
Servlet规范简介--web框架是如何注入到Servlet中的 引言 Web框架一般是通过一个Servlet提供统一的请求入口,将指定的资源映射到这个servlet,在这个servlet中进行框架 ...
- Spark性能优化-coalesce(n)
有时用Spark 运行Job 的时候,输出可能会出现一些空或者小内容.这时重新将输出的Partition 进行重新调整,可以减少RDD中Patition的数目. 两种方式: 1. coalesce(n ...
- IE浏览器下一些图片无法显示的(在其他非ie浏览器能够显示)解决办法
因为要完成本学期老师布置得网页作业,做完的时候进行网页的兼容性测试,chrome和360都没有问题. ie下却有两个图片无法显示. 一般这种情况代码是没有什么问题的,一般是图片本身的问题, 当我用Ps ...
- 【Oracle】dba_jobs字段说明
dba_jobs 1 字段(列) 数据类型 描述 JOB NUMBER 任务的唯一标示号 LOG_USER ) 提交任务的用户 PRIV_USER ) 赋予任务权限的用户 SCHEMA_USER ) ...
- C#调用win32 api程序实例
1.声明static extern 方法,使用DllImport特性 class MyClass { [DllImport("kernel32", SetLastError = t ...
- git flow工作流实际项目实践
公司项目的开发流程主要是这样 代码分为 develop分支 master分支 平时我开发的时候,主要在develop分支上改动 一般来讲,有以下几种改动方式 1.直接在develop上修改代码 这种一 ...
- github for windows 安装 使用
遇到无数的未知问题.光是安装就搞了好久. 安装程序显示安装了.NET Framework4.5,然后提示重启.重启后,自动开始下载文件,最多到2%就走不动了. 后来请求了下面这个链接,才开始下载了(虽 ...
- 关于textarea中换行、回车、空格的识别与处理
需求:在textarea中输入文字,提交给后台后,后台输出在另一个页面,文字按原格式显示. 问题:如何还原输入框中的换行和空格? 兼容性:IE9以上.FF.chrome在换行处匹配/\n/ ...
- Poco::JSON::Array 中object 设置preserveInsertionOrder 时,stringify出错-->深入解析
在使用poco version 1.6.0时 Poco::JSON::Array 在object 设置preserveInsertionOrder =true 时 调用 array.stringif ...
- python基础之day1
Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...