redis学习(二)数据类型
hash类型
设置值hset 获取值hget
127.0.0.1:6379> hset phone name apple
(integer) 1
127.0.0.1:6379> hget phone name
"apple"
同时设置多个字段和值(键相同)hset,同时获取多个字段的值(键相同)hget
127.0.0.1:6379> hmset phone price 12000 from America
OK127.0.0.1:6379> hmget phone name price from
1) "apple"
2) "12000"
3) "America"
查看键中所有字段
127.0.0.1:6379> hkeys phone
1) "name"
2) "price"
3) "from"
查看键中所有值127.0.0.1:6379> hvals phone
1) "apple"
2) "12000"
3) "America"
查看键中所有的字段和值
127.0.0.1:6379> hgetall phone
1) "name"
2) "apple"
3) "price"
4) "12000"
5) "from"
6) "America"
查看键中字段的个数
127.0.0.1:6379> hlen phone
(integer) 3
查看键中是否存在某个字段
127.0.0.1:6379> hexists phone price
(integer) 1
键中某个字段增加一定值,只能是数字类型
127.0.0.1:6379> hincrby phone price 1000
(integer) 13000
127.0.0.1:6379> hget phone price
"13000"
127.0.0.1:6379> hincrby phone name 100
(error) ERR hash value is not an integer
如果字段不存在则赋值,如果存在则不赋值
127.0.0.1:6379> hsetnx phone price 11000
(integer) 0
127.0.0.1:6379> hget phone price
"13000"
127.0.0.1:6379> hsetnx phone generation 12
(integer) 1
127.0.0.1:6379> hget phone generation
"12"
删除键中某个字段
127.0.0.1:6379> hdel phone generation
(integer) 1
127.0.0.1:6379> hkeys phone
1) "name"
2) "price"
3) "from"
删除键
127.0.0.1:6379> del phone
(integer) 1
127.0.0.1:6379> exists phone
(integer) 0
总结:
增/改:hset hmset hsetnx hincrby
删:hdel
查:hget hmget hkeys hvals hgetall hlen hexists
未举例的hash命令:hincrbyfloat hstrlen hvals hscan
list类型
lpush从链表左端插入元素,可插入一个或多个
127.0.0.1:6379> lpush phone apple
(integer) 1
127.0.0.1:6379> lpush phone samsung huawei xiaomi
(integer) 4
lrange根据索引查看链表元素,支持反向索引(-1代表最右,-2代表倒数第二,以此类推)
127.0.0.1:6379> lrange phone 0 -1
1) "xiaomi"
2) "huawei"
3) "samsung"
4) "apple"
127.0.0.1:6379> lrange phone -2 -1
1) "samsung"
2) "apple"
linsert在指定元素左侧或者右侧插入元素
127.0.0.1:6379> linsert phone before xiaomi oppo
(integer) 5
127.0.0.1:6379> linsert phone after apple vovi
(integer) 6
127.0.0.1:6379> lrange phone 0 -1
1) "oppo"
2) "xiaomi"
3) "huawei"
4) "samsung"
5) "apple"
6) "vovi"
lset指定链表指定索引处元素的值
127.0.0.1:6379> lset phone 0 zhongxing
OK
lindex查看链表指定索引处元素的值
127.0.0.1:6379> lindex phone 0
"zhongxing"
127.0.0.1:6379> lrange phone 0 -1
1) "zhongxing"
2) "xiaomi"
3) "huawei"
4) "samsung"
5) "apple"
6) "vovi"
lpop从链表左端弹出一个元素
127.0.0.1:6379> lpop phone
"zhongxing"
rpop从链表右端弹出一个元素
127.0.0.1:6379> rpop phone
"vovi"
127.0.0.1:6379> lrange phone 0 -1
1) "xiaomi"
2) "huawei"
3) "samsung"
4) "apple"
lrem key count value删除count个数个值为value的元素
count>0从左侧删除count个元素,count<0从右端删除count个元素,count=0删除所有值为value的元素
127.0.0.1:6379> lrem phone 1 samsung
(integer) 1
127.0.0.1:6379> lrange phone 0 -1
1) "xiaomi"
2) "huawei"
3) "apple"
ltrim删除链表指定索引区间外的所有元素
127.0.0.1:6379> ltrim phone 0 1
OK
127.0.0.1:6379> lrange phone 0 -1
1) "xiaomi"
2) "huawei"
rpoplpush source desc从第一个链表右端弹出一个元素,放入第二个链表左端,如果是同一个链表,则为列表旋转
127.0.0.1:6379> lpush car benz bmw audi
(integer) 3
127.0.0.1:6379> rpoplpush car phone
"benz"
127.0.0.1:6379> lrange phone 0 -1
1) "benz"
2) "xiaomi"
3) "huawei"
127.0.0.1:6379> rpoplpush phone phone
"huawei"
127.0.0.1:6379> lrange phone 0 -1
1) "huawei"
2) "benz"
3) "xiaomi"
总结:
增:lpush rpush linsert
删: lpop rpop lrem ltrim
改:lset rpoplpush
查:lindex lrange llen
没有根据索引删除,很别扭
未举例的list命令:lpushx rpushx blpop brpop brpoplpush
redis学习(二)数据类型的更多相关文章
- Redis 学习(二) —— 数据类型及操作
Redis支持string.list.set.zset.hash等数据类型,这一篇学习redis的数据类型.命令及某些使用场景. 一.String,字符串 字符串是 Redis 最基本的数据类型.一个 ...
- Redis基础学习(二)—数据类型
一.Redis支持的数据类型 Redis中存储数据是通过key-value存储的,对于value的类型有以下几种: (1)字符串. (2)Map (3)List (4)Set public cla ...
- Redis学习二 C#中如何进行这五种数据类型的操作
我在网上找了好久,就是没有找到Redis和C#结合的书,都是和别的编程语言在一起鬼混. 简单的用C#实现向Redis中插入那我中类型的数据 首先需要到NuGet 里面下载 Redis IDatabas ...
- Redis学习二:Redis入门介绍
一.入门概述 1.是什么 Redis:REmote DIctionary Server(远程字典服务器) 是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内 ...
- Redis 学习之数据类型
该文使用centos6.5 64位 redis-3.2.8 [root@localhost bin]# netstat -tunpl |grep 6379 查看redis 是否启动成功 一.Stri ...
- redis学习-sds数据类型
今天开始了redis的学习,本来想直接从源码看起的,不过看到有篇对redis介绍的基础教程 <Redis 设计与实现(第一版)> 于是决定从这个开始入门. 1.数据类型定义 typedef ...
- redis学习——day02_redis数据类型
一.简介 Redis不仅仅是简单的key-value 存储器,同时也是一种data structures server.传统的key-value是指支持使用一个key字符串来索引value字符串的存储 ...
- Redis学习-string数据类型
Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志 型.Key-Value 数据库. redis提供五种数据类型string,hash,list,set及sor ...
- C#中使用Redis学习二 在.NET4.5中使用redis hash操作
上一篇>> 摘要 上一篇讲述了安装redis客户端和服务器端,也大体地介绍了一下redis.本篇着重讲解.NET4.0 和 .NET4.5中如何使用redis和C# redis操作哈希表. ...
- redis学习笔记——数据类型
对象处理机制 Redis 构建了自己的类型系统,这个系统的主要功能包括:• redisObject 对象.• 基于redisObject 对象的类型检查.• 基于redisObject 对象的显式多态 ...
随机推荐
- git从某个分支的指定历史版本中创建新分支
git从某个分支的指定历史版本中创建新分支 前提: 有时候,我们在一个分支上做了许多修改,而这些修改因即将上线等原因不可修改.而现在有一个新任务,需要在这个分支的这些修改之前进行开发. 方案①(不推荐 ...
- CSS3滤镜属性filter让网页变黑白
很多特殊的时候,我们向英雄们致敬,在互联网上最常见的方式就是整个网页变黑白,今天逛某博客收集一段代码,用于网页整体变黑白,用css3滤镜属性filter让网页马上变黑白,一行代码就搞定. 在你的css ...
- 【Numpy】安装Anaconda3和调试
1,在Anaconda官网下载一个对应操作系统的安装包:https://www.anaconda.com/distribution/ 2,然后选版本操作系统和版本号,下载完成后安装 3,windows ...
- PostScript语言教程(四、程序变量使用)
4.1.变量定义 POSTSCRIPT 变量 变量的定义是将比那两名和值用def进行关联类似 /ppi 75 def %将ppi定义为75 /ppi ppi 1 add def %将ppi + 1的值 ...
- 合并B站video.m4s和audio.m4s
ffmpeg -i D:\a\video.m4s -i D:\a\audio.m4s -codec copy D:\a\a.mp4
- element 换肤
官网操作 https://element.eleme.cn/#/zh-CN/component/custom-theme 然后 执行 et -i 报错了!!! 查了一下,说的是node版本过高?那我就 ...
- 利用python脚本统计和删除redis key
该脚本扫描redis中所有的key,用于分析redis内存数据的key构成,扫描并保存文件,需要python支持redis模块. #!/usr/bin/env python # -*- coding: ...
- 20202411 2020-2021-2 《Python程序设计》实验二报告
20202411 2020-2021-2 <Python程序设计>实验二报告 课程:<Python程序设计> 班级: 2024 姓名: 陈书桓 学号:20202411 实验教师 ...
- ZSTUOJ刷题④:Problem B.--输出双层金字塔
Problem B: 输出双层金字塔 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 7860 Solved: 5834 Description 输出双层 ...
- 在Unity3D中开发的角色视觉系统插件Sight Detect System
Sight-Detect-System 这款Sight Detect System插件由本人用Unity3D所开发,它在游戏中可以成为角色的视觉感知系统. 如果你想开发潜行类游戏时,那么这款视觉插件非 ...