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 对象的显式多态 ...
随机推荐
- js已知多边形坐标点,求多边形的中心点坐标
你需要传入的数据类型如下: // 取面对象 中心点 var calculateCenter = function (lnglatarr) { var total = lnglatarr.length; ...
- echart一个框里放三个饼图案例
效果图: 代码: function(chartOption){ chartOption = $nps$.deepCopyTo({}, chartOption); var chartDataList_r ...
- iOS加载动态自定义字体
iOS加载动态自定义字体 NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDom ...
- Unity3D发布Android注意事项
当你制作完一款游戏,准备发布Android平台时,需要进行一些设置.如下: 一.设置AndroidSDK路级和JDK路径 AndroidSDK目录可以通过AndroidStudio查看,如下: 这个路 ...
- 057_Apex 开发中的问题
2019/12/27 补充内容: 1. %2F 由于页面的按钮点击或者Detail 页面编辑url中会生成 returnURL=%2F id,需要注意下 2. Trigger 中, __r 与触发条件 ...
- Taro3 扫描不同二维码参数不同,但是热启动之后参数不变 根据环境不同更换域名
热启动:先执行缓存的静态数据,然后再执行页面代码.比如右上角退出或者按home键错误用法:用的Taro3 react function函数,之前用的 Taro.getLaunchOptionsSyn ...
- Kubernetes--部署Ingress控制器(Nginx)
Ingress控制器自身是运行于Pod中的容器应用,一般是Nginx或Envoy一类的具有代理及负载均衡功能的守护进程,它监视着来自于API Server的Ingress对象状态,并以其规则生成相应的 ...
- linux 第一节(基本命令)
RPM 红帽软件管理器,(源代码+安装规则打包) YUM 软件仓库yum源,打包了大量的软件. yum repolist all //列出所有仓库 ...
- Linux 三剑客常用命令
shell三剑客===================================================grep===================================== ...
- 半成品 java 身份证校验
public static Boolean is18Card(String idCard18) { //证件省份 HashMap<String, String> aCity = new H ...