1、Redis 哈希(Hash)

参考菜鸟教程:http://www.runoob.com/redis/redis-hashes.html

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

  设置key

127.0.0.1:6379> hmset a id 1 name "zhangsan" age 10
OK

  查看所有内容(获取在哈希表中指定 key 的所有字段和值)

127.0.0.1:6379> hgetall a
1) "id"
2) "1"
3) "name"
4) "zhangsan"
5) "age"
6) "10"

  查看哈希表 key 中,指定的字段是否存在,存在为1

127.0.0.1:6379> hexists a age
(integer) 1

   获取存储在哈希表中指定字段的值

127.0.0.1:6379> hget a age
"10" 127.0.0.1:6379> hmget a id age
1) "1"
2) "20"

  为哈希表 key 中的指定字段的整数值加上增量 increment

127.0.0.1:6379> hincrby a age 10
(integer) 20
127.0.0.1:6379> hget a age
"20"

  获取所有哈希表中的字段

127.0.0.1:6379> hkeys a
1) "id"
2) "name"
3) "age"

  获取哈希表中字段的数量

127.0.0.1:6379> hlen a
(integer) 3

  只有在字段 field 不存在时,设置哈希表字段的值

127.0.0.1:6379> hsetnx a age 30
(integer) 0
127.0.0.1:6379> hmget a id age
1) "1"
2) "20"

2、Redis 列表(List)

参考菜鸟教程http://www.runoob.com/redis/redis-lists.html

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

  判断key是否存在,返回0表示不存在,返回1表示存在

127.0.0.1:6379> exists a
(integer) 0

  lpush 命令:将一个值插入到已存在的列表头部(左边);使用 lpush 命令将5个值插入到名为 a 的列表当中

127.0.0.1:6379> lpush a spring
(integer) 1
127.0.0.1:6379> lpush a springmvc
(integer) 2
127.0.0.1:6379> lpush a mybatis
(integer) 3
127.0.0.1:6379> lpush a mysql
(integer) 4
127.0.0.1:6379> lpush a redis
(integer) 5

  查看类型

127.0.0.1:6379> type a
list

  查看列表长度

127.0.0.1:6379> llen a
(integer) 5

  查看列表的内容,获取列表指定范围内的元素

127.0.0.1:6379> lrange a 0 4
1) "redis"
2) "mysql"
3) "mybatis"
4) "springmvc"
5) "spring"

  通过索引查看列表中的元素

127.0.0.1:6379> lindex a 0
"redis"
127.0.0.1:6379> lindex a 3
"springmvc"
127.0.0.1:6379> lindex a 4
"spring"

  通过索引设置列表元素的值

127.0.0.1:6379> lset a 0 redis001
OK
127.0.0.1:6379> lrange a 0 4
1) "redis001"
2) "mysql"
3) "mybatis"
4) "springmvc"
5) "spring"

  在列表尾部(右边)插入值

127.0.0.1:6379> rpush a mongodb
(integer) 6
127.0.0.1:6379> llen a
(integer) 6127.0.0.1:6379> lrange a 0 5
1) "redis001"
2) "mysql"
3) "mybatis"
4) "springmvc"
5) "spring"
6) "mongodb"

  为已存在的列表添加值

127.0.0.1:6379> lrange a 0 6
1) "haha"
2) "redis001"
3) "mysql"
4) "mybatis"
5) "springmvc"
6) "spring"
7) "mongodb"
127.0.0.1:6379> rpushx a hehe
(integer) 8
127.0.0.1:6379> lrange a 0 7
1) "haha"
2) "redis001"
3) "mysql"
4) "mybatis"
5) "springmvc"
6) "spring"
7) "mongodb"
8) "hehe"

  移出并获取列表的第一个元素

127.0.0.1:6379> lpop a
"haha"
127.0.0.1:6379> lrange a 0 7
1) "redis001"
2) "mysql"
3) "mybatis"
4) "springmvc"
5) "spring"
6) "mongodb"
7) "hehe"

  移出并获取最后一个元素

127.0.0.1:6379> rpop a
"hehe"
127.0.0.1:6379> lrange a 0 7
1) "redis001"
2) "mysql"
3) "mybatis"
4) "springmvc"
5) "spring"
6) "mongodb"

  对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除

127.0.0.1:6379> lrange a 0 5
1) "redis001"
2) "mysql"
3) "mybatis"
4) "springmvc"
5) "spring"
6) "mongodb"
127.0.0.1:6379> ltrim a 1 4
OK
127.0.0.1:6379> lrange a 0 5
1) "mysql"
2) "mybatis"
3) "springmvc"
4) "spring"

  移除列表元素(指定value);移除"springmvc"

127.0.0.1:6379> lrem a 1 springmvc
(integer) 1
127.0.0.1:6379> llen a
(integer) 3
127.0.0.1:6379> lrange a 0 2
1) "mysql"
2) "mybatis"
3) "spring" 127.0.0.1:6379> lpush a mysql
(integer) 4
127.0.0.1:6379> lrange a 0 40
1) "mysql"
2) "mysql"
3) "mybatis"
4) "spring"
127.0.0.1:6379> lrem a 2 mysql
(integer) 2
127.0.0.1:6379> lrange a 0 10
1) "mybatis"
2) "spring"

redist命令操作(二)--哈希Hash,列表List的更多相关文章

  1. redist命令操作(三)--集合Set,有序集合ZSet

    1.Redis 集合(Set) 参考菜鸟教程:http://www.runoob.com/redis/redis-sets.html Redis 的 Set 是 String 类型的无序集合.集合成员 ...

  2. redist命令操作(一)--键key,字符串String

    1.Redis 字符串(String) 参考菜鸟教程:http://www.runoob.com/redis/redis-strings.html 设置指定key的值,如果原来有,覆盖 127.0.0 ...

  3. Redis 命令,键(key),字符串(String),哈希(Hash),列表(List),集合(Set)(二)

      Redis 命令 Redis 命令用于在 redis 服务上执行操作. 要在 redis 服务上执行命令需要一个 redis 客户端.Redis 客户端在我们之前下载的的 redis 的安装包中. ...

  4. Python操作redis系列以 哈希(Hash)命令详解(四)

    # -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. Hset 命令用于 ...

  5. Redis系列(二):Redis的数据类型及命令操作

    原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...

  6. 第二课补充01——redis-cli命令行详解、string类型、list类型、hash类型命令操作详解

    一. redis-cli命令行参数 1.-x参数:从标准输入读取一个参数: [问题] [解决] 因为echo命令是默认带有回车\n的,不带回车需要echo –n命令: echo -n "ha ...

  7. 用Hash Table(哈希散列表)实现统计文本每个单词重复次数(频率)

    哈希表在查找方面有非常大应用价值,本文记录一下利用哈希散列表来统计文本文件中每个单词出现的重复次数,这个需求当然用NLP技术也很容易实现. 一.基本介绍 1.Hash Key值:将每个单词按照字母组成 ...

  8. Redis高级命令操作大全--推荐

    redis安装和使用 redis安装 wget http://download.redis.io/redis-stable.tar.gz tar zxvf redis-stable.tar.gz cd ...

  9. 什么是哈希Hash(散列函数)

    Hash(散列函数) Hash,一般翻译做散列.杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就 ...

随机推荐

  1. Django框架详细介绍---中间件(认证)

    一.绪论 在cookie和session的应用中,通过在视图函数内添加装饰器判断用户是否登录,把没有登录的用户请求跳转到登录页面,通过给几个特定视图函数加装饰器实现了这个需求.但是以后添加的视图函数可 ...

  2. 记录心得-IntelliJ iDea 创建一个maven管理的的javaweb项目

    熟能生巧,还是记录一下吧~ 开始! 第一步:File--New--Project--Maven--Create from archetype--maven-archetype-webapp 第二步:解 ...

  3. ASP.NET页面之间传值的方式之Server.Transfer(个人整理)

    Server.Transfer 这个方法相比以前介绍的方法稍微复杂一点,但在页面间值传递中却是特别有用的,使用该方法你可以在另一个页面以对象属性的方式来存取显露的值,当然了,使用这种方法,你需要额外写 ...

  4. python学习笔记之线程、进程和协程(第八天)

    参考文档: 金角大王博客:http://www.cnblogs.com/alex3714/articles/5230609.html 银角大王博客:http://www.cnblogs.com/wup ...

  5. css基础教程

    css规则有两个主要部分构成:选择器,以及一条或多条声明. 值的不同写法和单位: 可以使用十六进制设置颜色值:#ff0000; 为节约字节,使用css缩写形式:#f00: 类选择器:以一个点号显示. ...

  6. [转载非常好的文章]JLink+GDBServer调试S3C6410裸板的初始化代码 For OK6410开发板

    要调试裸板,有两种初始化方法,一个是用烧好的uboot初始化,再有就是直接用JLink+GDBServer初始化.代码参考了网上的资料,根据手头的OK6410开发板做了修改.整体代码如下: # Con ...

  7. 多个for循环嵌套会影响速度

    在复现Meta-SR的过程中,发现如果嵌套多个for 循环会使速度过慢.这是下面实验得出的结论: import time t1 = time.time() a = range(3000) b = ra ...

  8. 2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165316 Exp4 恶意代码分析 一.原理与实践说明 1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2 ...

  9. npm install --save 、--save-dev 、-D、-S 的区别

    备注:<=> 意为等价于: 1.npm install <=> npm i --save   <=> -S --save-dev  <=> -D npm ...

  10. pinpoint初始化hbase脚本报错

    今天在部署pinpoint的时候,执行创建表语句的脚本,报表已经存在的错误,但是那个hbase数据目录是刚创建的,表肯定是不存在的 <property> <name>hbase ...