redis简单操作
一、redis 基础操作
1.1、string 类型及操作
string 是最简单的类型,一个key对应一个value,string类型是二进制安全的。redis的string可以包含任何数据。
1、set: 设置值
127.0.0.1:6379> set name haha
OK
2、setnx: 设置值,如果键已经存在则返回0,否则返回1
127.0.0.1:6379> setnx name haha
(integer) 0
127.0.0.1:6379> setnx info a
(integer) 1
3、get:获取键对应的值
127.0.0.1:6379> get name
"haha"
4、mset,mget:设置或者获取多个键值对
127.0.0.1:6379> MSET name haha age 18 sex nv
OK
127.0.0.1:6379> MGET name age sex
1) "haha"
2) "18"
3) "nv"
5、incrby:对 key 的值做加加(指定值)操作,并返回新的值
127.0.0.1:6379> INCRBY age 2
(integer) 22
6、incr:对 key 的值做加值,并返回新的值
127.0.0.1:6379> INCR age
(integer) 19
7、del:删除一个已创建的 key
127.0.0.1:6379> del name
(integer) 1
1.2、hash 类型及操作
Redis hash 是一个 string 类型的 field(字段)和 value 的映射表,hash 特别适合用于存储对象,相较于将对象的每个字段存成单个 string 类型,将一个对象存储在 hash 类型中会占用更少的内存,并且可以更方便的存取整个对象。
1、hset:设置 hash field 为指定值,如果 key 不存在,则先创建。
127.0.0.1:6379> HSET dic name huahua
(integer) 1
2、hget、hmset、hmget,与上面的string类似
127.0.0.1:6379> HMSET dic1 name ah age 18
OK
3、 hdel:删除制定表中的某一个键值对
127.0.0.1:6379> HDEL dic1 name
(integer) 1
4、hgetall:列出表中的所有键值对
127.0.0.1:6379> HGETALL dic1
1) "age"
2) "18"
1.3、list 类型及操作
list 是一个链表结构,主要功能是 push、pop、获取一个范围内的所有值等等,操作中 key 理解为链表的名字。Redis 的 list 类型其实就是一个每个子元素都是 string 类型的双向链表。我们可以通过 push、pop 操作从链表的头部或尾部添加删除元素。
1、lpush:在 key 对应 list 从左添加字符串元素
127.0.0.1:6379> LPUSH name haha ee nnn
(integer) 3
2、lrange:在 key 对应 list 从左遍历字符串元素,需指定起始和结束索引
127.0.0.1:6379> LRANGE name 0 -1
1) "nnn"
2) "ee"
3) "haha"
3、lpop:在 key 对应 list 从左删除一个元素
127.0.0.1:6379> LPOP name
"nnn"
4、rpop,rpush 类似,不过是从list右边插入与删除
1.4、Set 类型及操作
set 是集合,他是 string 类型的无序集合。Set 是通过 hash table 实现的,对集 、交集、差集。通过这些操作,集合不允许有重复值。
1、sadd:添加一个或多个元素到集合中
127.0.0.1:6379> sadd k1 1 2 3 4 5
(integer) 5
2、smembers:获取集合里面所有的元素
127.0.0.1:6379> SMEMBERS k1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
3、srem:从集合中删除指定的一个或多个元素
127.0.0.1:6379> SREM k1 2
(integer) 1
4、spop:随机从集合中删除一个元素,并返回
127.0.0.1:6379> SPOP k1
"3"
5、sdiff:返回集合 1 与集合 2 的差集
127.0.0.1:6379> SDIFF k1 k2
1) "1"
6、sinter:获得两个集合的交集
127.0.0.1:6379> SINTER k1 k2
1) "4"
2) "5"
7、sunion:获得两个集合的并集
127.0.0.1:6379> SUNION k1 k2
1) "1"
2) "3"
3) "4"
4) "5"
5) "6"
8、scard: 返回集合内元素个数
127.0.0.1:6379> SCARD k1
(integer) 5
1.5 zset 类型及操作
zset 是 set 的一个升级版本,它在 set 的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset 会自动重新按新的值调整顺序。可以理解为有两列的 mysql 表,一列存的 value,一列存的顺序。操作中 key 理解为 zset 的名字.
1、zadd:向一个指定的有序集合中添加元素,每一个元素会对应的有一个分数。你可以指定多个分数/成员组合。如果一个指定的成员已经在对应的有序集合中了,那么其分数就会被更新成最新的,并且该成员会重新调整到正确的位置,以确保集合有序。分数的值必须是一个表示数字的字符串。
127.0.0.1:6379> ZADD xx 1 zs 2 ls
(integer) 2
2、zrange:返回有序集合中,指定区间内的成员。其中成员按照 score(分数)值从小到大排序。
127.0.0.1:6379> ZRANGE xx 0 -1
1) "zs"
2) "ls"
3、zrem: 删除有序集合内元素
127.0.0.1:6379> ZREM xx zs
(integer) 1
4、zcard:返回有序集合元素的个数
127.0.0.1:6379> ZCARD xx
(integer) 1
二、其他命令
1、keys:按照键名查找指定的键。支持通配符(* ?等)
127.0.0.1:6379> keys *
1) "age"
2) "dics"
3) "dic"
4) "sex"
5) "xx"
2、 exists:确认一个键是否存在(1 表示存在)
127.0.0.1:6379> EXISTS age
(integer) 1
3、 del:删除一个键(通用)
127.0.0.1:6379> del age
(integer) 1
4、expire:设置一个键(已存在)的过期时间,如果键已经过期,将会被自动删除
127.0.0.1:6379> EXPIRE age 20
(integer) 0
5、ttl:以秒为单位,返回指定键的剩余有效时间
当 key 不存在时,返回 -2
当 key 存在但没有设置剩余生存时间时,返回 -1
否则,以秒为单位,返回 key 的剩余生存时间。
127.0.0.1:6379> TTL age
(integer) -2
127.0.0.1:6379> ttl k2
(integer) -1
6、select:选择一个数据库,默认连接的数据库是 0,可以支持共 16 个数据库。在配置文件中,通过 databases 16 关键字定义。
127.0.0.1:6379> SELECT 1
OK
127.0.0.1:6379[1]> keys *
1) "k1"
7、move:将当前数据库的键移动到指定的数据库中
127.0.0.1:6379> MOVE k1 1
(integer) 1
8、type:返回键的类型
127.0.0.1:6379[1]> TYPE k1
set
9、dbsize:返回当前库中键的数量
127.0.0.1:6379> DBSIZE
(integer) 10
10、save:保存所有的数据。很少在生产环境直接使用 SAVE 命令,因为它会阻塞所有的客户端的请求,可以使用 BGSAVE 命令代替. 如果在 BGSAVE 命令的保存数据的子进程发生错误的时,用 SAVE 命令保存最新的数据是最后的手段。
11、info:获取服务器的详细信息
12、config get:获取 redis 服务器配置文件中的参数。支持通配符
127.0.0.1:6379> CONFIG GET *
#获取所以配置参数
127.0.0.1:6379> CONFIG GET port
1) "port"
2) "6379"
13、flushdb:删除当前数据库中所有的数据
14.、flushall:删除所有数据库中的所有数据
redis简单操作的更多相关文章
- qhfl-5 redis 简单操作
Redis Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis有以下特点: -- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可 ...
- python:redis简单操作
一,安装redis-py pip install redis easy_install redis 二,简单用法 import redis # 连接redis服务器 def conn_redis(): ...
- 简单的redis缓存操作(get、put)
简单的redis缓存操作(get.put) 本文介绍简单的redis缓存操作,包括引入jedisjar包.配置redis.RedisDao需要的一些工具.向redis中放数据(put).从redis中 ...
- SpringDataRedis操作Redis简单案例
Jedis Jedis是Redis官方推出的一款面向Java的客户端,提供了很多接口供Java语言调用.可以在Redis官网下载,当然还有一些开源爱好者提供的客户端,如Jredis.SRP等等,推荐使 ...
- Redis简单的数据操作(增删改查)
#Redis简单的数据操作(增删改查): 字符串类型 string 1. 存储: set key value 127.0.0.1:6379> set username zhangsan OK 2 ...
- 解析laravel之redis简单模块操作
入门级操作 普通 set / get 操作: set操作,如果键名存在,则会覆盖原有的值: $redis = app('redis.connection'); $redis->set('libr ...
- spring data redis RedisTemplate操作redis相关用法
http://blog.mkfree.com/posts/515835d1975a30cc561dc35d spring-data-redis API:http://docs.spring.io/sp ...
- php的redis 操作类,适用于单台或多台、多组redis服务器操作
redis 操作类,包括单台或多台.多组redis服务器操作,适用于业务复杂.高性能要求的 php web 应用. redis.php: <?php /* redis 操作类,适用于单台或多台. ...
- redis简单配置
由于前段时间使用Kestrel,同时要操作Memcached及时更新缓存,又要操作database,持久化数据. 貌似Redis既可以当Cache又可以当Queue!于是,今天开始研究Redis! 一 ...
随机推荐
- Vue 语法的一些小问题
设置 sty行内样式 :style="{width:mapWidth,height:mapHeight}" This指向 axios 使用axios 的时候 ,在生命周期函数 ...
- 51nod 1380"夹克老爷的逢三抽一"(贪心+set)
传送门 •参考资料 [1]:51Nod-1380-夹克老爷的逢三抽一 •题意 从长度为 n 的数组中抽取 $\frac{n}{3}$ 个不相邻的值使得加和最大(首尾也不能同时取) •题解 贪心选择当前 ...
- win10 uwp 在 VisualStudio 部署失败,找不到 Windows Phone 可能的原因
在我使用 VisualStudio 调试的时候,发现我插入了手机,但是 VisualStudio 在部署的时候找不到手机. 可能的原因是 手机禁用了连接,第二个原因是可能手机驱动没正确让 Visual ...
- sci,ei,istp三大科技文献检索系统
印刷版(SCI) 双月刊 ,500种 联机版(SciSearch) 周更新 ,600种 光盘版(带文摘)(SCICDE) 月更新 ,500种(同印刷版) 网络版(SCIExpanded) 周更新 ,6 ...
- java编译器优化和运行期优化
概述 最近在看jvm优化,总结一下学习的相关知识 (一)javac编译器 编译过程 1.解析与填充符号表过程 1).词法.语法分析 词法分析将源代码的字符流转变为标记集合,单个字符是程序编 ...
- C# 简单读取文件
本文告诉大家如何使用最少的代码把一个文件读取二进制,读取为字符串 现在写了一些代码,想使用最少代码来写简单的读文件,所以我就写了这个文章 读取文件为二进制 private byte[] ReadFil ...
- 解决html2canvas图片跨域合成失败的问题
/** * 将图片转换为base64 * 解决html2canvas跨域合成失败的问题 */ var getBase64Image = function(src, cb) { var img = do ...
- Java中大量if...else语句的消除替代方案
在我们平时的开发过程中,经常可能会出现大量If else的场景,代码显的很臃肿,非常不优雅.那我们又没有办法处理呢? 针对大量的if嵌套让代码的复杂性增高而且难以维护.本文将介绍多种解决方案. 案例 ...
- 树莓派4安装net core3.0环境
树莓派4官方系统是32系统,所以需要安装arm32版本的net core sk和runtime 1,首先创建一个文件夹 dotnet-arm32 sudo mkdir dotnet arm32 2,下 ...
- anaconda在本地安装软件conda install
安装完anaconda后,想在mac下安装pytorch,但是在用官网提供的安装方法一直安装不上pytorch和torchvision,估计是被墙了 conda install pytorch tor ...