一、字符串

单个设置:set key value,如果key不存在则设置键值对,如果存在则修改

批量设置:mset key1 value1 [key2 value2]

单个获取:get key,如果key不存在返回结果为nil

批量获取:mget key1 [key2]

获取并修改:getset key value,如果key存在则修改值为value并返回key的原值,如果key不存在则设置key的值为value且返回值为nil

查询:keys 正则匹配,例如keys *

删除:del key,如果存在则返回删除的个数,不存在则反馈0

append key var:在key的值后面拼接字符串var,如果key不存在则相当于set,例如name值为Alice,则append name es后name的值为Alicees

getrange key start end:返回子串,字符串其实从0开始,包括开始和结束,例如hobby值为basketball,getrange hobby 2 5返回sket

strlen key:反馈key的值的长度

incr key:incr表示+1,如果key不存在则默认初始值为0,然后+1;如果key存在且为整数,则值+1;如果key存在且不为整数,则报错

decr key:decr表示-1,用法类似incr

incrby key n:incrby步长为n表示+n,用法类似incr

decrby key n:做减法-n,用法类似incrby

二、哈希

单个设置:hset obj key value

批量设置:hmset obj key1 value1 [key2 value2]...

单个获取:hget obj key

批量获取:hmget obj key1 [key2]...

获取所有:hgetall obj,返回所有的key和对应的值

删除key:hdel obj key1 [key2]

删除哈希:del obj

判断hash中是否存在某个key:hexists obj key,1表示存在0表示不存在

获取key的个数:hlen obj

获取所有key:hkeys obj

获取所有key的值:hvals obj

三、列表

列表有顺序,即有下标,下标从0开始,0表示左边第一位(头部),-1表示右边第一位(尾部)。

从左边插入元素:lpush mylist value1 [value2]

从右边插入元素:rpush mylist value1 [value2]

移出并获取左边第一个元素:lpop mylist

移出并获取右边第一个元素:rpop mylist

查看指定索引范围的元素:lrange mylist start end,start和end分别表示起始和结束索引,常用lrange mylist 0 -1查看整个列表

查看指定索引的元素:lindex mylist index,index表示索引位置

获取列表长度:llen mylist

设置指定索引元素的值:lset mylist index value

从左边开始在第一个指定元素前/后插入元素:linsert mylist before/after value1 value2,即从左开始在第一个value1前/后插入value2

保留指定索引范围的元素:ltrim mylist start stop,start和end分别表示起始和结束索引

删除列表:del mylist

lrem mylist count value:count为数量,value为元素,表示删除count个value,分为三种情况:

count为正数:从左边开始删除,删除count个value

count为负数:从右边开始删除,删除|count|个value

count为0:删除所有的value

rpoplpush mylist1 mylist2:将mylist1右边的第一个元素移除,并且添加到mylist2的左边

四、集合

向集合中添加成员:sadd myset value1 [value2 ...]

获取集合所有成员:smembers myset

统计集合成员数量:scard myset

判断成员是否属于集合:sismember myset value

随机返回成员:srandmember myset [n],默认随机返回集合中的一个成员(不是删除)

随机删除成员:spop myset [n],默认随机删除一个,参数n表示随机删除n个,如果n超过成员个数则集合清空不会报错

删除指定成员:srem myset value1 [value2 ...]

移动成员:smove myset1 myset2 value,将myset1中的成员移动到myset2中

返回多个集合的交集:sinter myset1 myset2 [myset3 ...]

返回多个集合的并集:sunion myset1 myset2 [myset3 ...]

返回多个集合的差集:sdiff myset1 myset2 [myset3 ...],即myset1 - myset2 [ - myset3]

返回多个集合的交集的元素个数并将成员存储到指定集合中:sinterstore destition myset1 myset2 [myset3 ...]

返回多个集合的并集的元素个数并将成员存储到指定集合中:sunionstore destition myset1 myset2 [myset3 ...]

返回多个集合的差集的元素个数并将成员存储到指定集合中:sdiffstore destition myset1 myset2 [myset3 ...]

redis基本操作介绍的更多相关文章

  1. 三、Redis基本操作——List

    小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...

  2. 二、Redis基本操作——String(实战篇)

    小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...

  3. 一、Redis基本操作——String(原理篇)

    小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...

  4. Redis基本操作——List

    Redis基本操作——List(原理篇) 学习过数据结构的同学,一定对链表(Linked List)十分的熟悉.相信我们自己也曾经使用过这种数据结构. 链表分为很多种:单向链表,双向链表,循环链表,块 ...

  5. Redis(二):Redis入门介绍

    Redis入门介绍目录导航: 入门概述 VMWare + VMTools千里之行始于足下 Redis的安装 Redis启动后杂项基础知识讲解 入门概述 是什么 Redis:REmote DIction ...

  6. [转] Redis系统性介绍

    Redis系统性介绍 http://blog.nosqlfan.com/html/3139.html?ref=rediszt 虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了 ...

  7. Redis基本操作-20150608

    Redis基本操作-20150608 [http://my.oschina.net/u/241255/blog/206991]   Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存 ...

  8. 【原】Redis基本操作

    Redis基本操作 遍历操作 Pub-Sub server Lua脚本 Redis中的这些操作都是不分大小写的. 除了针对于具体类型的具体操作.还有一些其他操作. 遍历操作 SCAN cursor [ ...

  9. PyQuery基本操作介绍

    PyQuery基本操作介绍 PyQuery为Python提供一个类似于jQuery对HTML的操作方式,可以使用jQuery的语法对html文档进行查询操作. 本文以百度首页为例来介绍PyQuery的 ...

随机推荐

  1. 表达式计算开源组件(NCalc.NetCore)

    首先,这款组件是开源的,NCalc是.net中的一个数学表达式求值程序.NCalc可以解析任何表达式并计算结果,包括静态或动态参数和自定义函数. 官网地址:http://ncalc.codeplex. ...

  2. Milk Pumping G&Milk Routing S 题解

    Milk Pumping G&Milk Routing S 双倍经验时间 洛谷P5837 [USACO19DEC]Milk Pumping G 洛谷P3063 [USACO12DEC]Milk ...

  3. 洛谷 P1215 【[USACO1.4]母亲的牛奶 Mother's Milk】

    这道题\(DFS\)就好了,六种情况,\(ab,ac,ba,bc,ca,cb\),我们直接枚举就可.什么?这样不会结束?用一个\(vis\)数组判断走过没有就可以了.最后排序输出即可. \(code: ...

  4. 为什么Spring Security看不见登录失败或者注销的提示

    有很多人在利用Spring Security进行角色权限设计开发时,一般发现正常登录时没问题,但是注销.或者用户名时,直接就回到登录页面了,在登录页面上看不见任何提示信息,如“用户名/密码有误”或“注 ...

  5. shall 2-13

    1.用一句话概括Shell Shell是一个解释器,介于应用程序(用户)和操作系统之间的一个桥梁,负责命令的解释 2.Shell的编程语言编译型语言: 程序在执行之前需要个专门的编译过程,把程序编译成 ...

  6. i++ & ++i不看字节码是真的难懂

    package club.interview.base; /** * ++i 先"++"后赋值 * i++ 先赋值后"++" * i++ 局部变量表的值会改变, ...

  7. 「疫期集训day0」启程

    看了看几乎所有学长都是写的博客,所以写的博客 由于是第一回集训,考得都是老题(虽然有些还不会) 感受1:我调试好蒻呃,调试巨蒻,T1lis模板5分切,结果T2T3T4调了将近了两个小时,先是T2路径输 ...

  8. keepalived 热备

    概述 keepalived高可用集群      keepalived最初是为了LVS的,因为LVS无法进行自动检测服务器的节点状态(可以自动部署LVS)     keeplived后来加入VRRP给功 ...

  9. 介绍下重绘和回流(Repaint & Reflow),以及如何进行优化

    1. 浏览器渲染机制 浏览器采用流式布局模型(Flow Based Layout) 浏览器会把HTML解析成DOM,把CSS解析成CSSOM,DOM和CSSOM合并就产生了渲染树(Render Tre ...

  10. CSS学习之选择器优先级与属性继承

    CSS学习之选择器优先级与属性继承 选择器优先级 其实选择器是具有优先级的,我们来看下面这一组案例: <!DOCTYPE html> <html lang="en" ...