`
xuelianbobo
  • 浏览: 174388 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

redis渐入佳境(02) String与hash类型

阅读更多

上一篇我们进行了redis的简单的介绍,并进行了安装、启动、停止、登录 等操作。下面我们进一步学习redis

支持的数据类型中的string和hash。

string就不多解释了,存储在redis中的键值对。

下面直接上代码:

 

[redies@localhost redis-2.4]$ redis-cli //用自带的客户端工具连接redis数据库 
redis 127.0.0.1:6379> set name xiaobaiyang //set方法设置数据 set 键 值 
OK //返回OK 
redis 127.0.0.1:6379> get name //get 获取值 get 键 
"xiaobaiyang" //返回值 
redis 127.0.0.1:6379> setnx name xiaobaiyang1 //setnx 表示键不存在时才设置 
(integer) 0 //因为name存在所以失败即返回0 
redis 127.0.0.1:6379> get name 
"xiaobaiyang" //设置失败 所以name的值不变 
redis 127.0.0.1:6379> setex age 10 red //setex 设置有效时间 10s OK 
redis 127.0.0.1:6379> get age 
"red" 
redis 127.0.0.1:6379> get age //10s后age为空了 
(nil) 
redis 127.0.0.1:6379> setnx age 20 //可以再次设置,因为age已经自己消失了 
(integer) 1 
redis 127.0.0.1:6379> get age 
"20" 
redis 127.0.0.1:6379> set mail xuelianbochao@163.com 
OK 
redis 127.0.0.1:6379> setrange mail 6 bbbb//setrange会替换指定位置与目的串一样大的位置 
(integer) 21 
redis 127.0.0.1:6379> get mail 
"xueliabbbbhao@163.com" 
redis 127.0.0.1:6379> mset key1 1 key2 2 key3 3 //mset 多个键进行同时赋值 
OK 
redis 127.0.0.1:6379> get key1 
"1" 
redis 127.0.0.1:6379> get ke2 
(nil) 
redis 127.0.0.1:6379> get key2 
"2" 
redis 127.0.0.1:6379> get key3 
"3" 
redis 127.0.0.1:6379> msetnx key4 4 //多个赋值 与setnx类似 
(integer) 1 
redis 127.0.0.1:6379> msetnx key4 key5 
(integer) 0 
redis 127.0.0.1:6379> msetnx key5 5 ket 6 
(integer) 1 
redis 127.0.0.1:6379> get ket 
"6" 
redis 127.0.0.1:6379> getset key5 
55 //获得旧值set新值 "5" 
redis 127.0.0.1:6379> getrange key5 
01 //截取部分字符串 (error) ERR wrong number of arguments for 'getrange' command 
redis 127.0.0.1:6379> getrange name 0 6 
"xiaobai" 
redis 127.0.0.1:6379> mget key1 key2 key3 //批量获取键值
1) "1"
2) "2" 
3) "3" 
redis 127.0.0.1:6379> incr age //自增 
(integer) 21 
redis 127.0.0.1:6379> incrby age 10 //自增设置步长 
(integer) 31 
redis 127.0.0.1:6379> incrby age -10 
(integer) 21 
redis 127.0.0.1:6379> decr age 10 
(error) ERR wrong number of arguments for 'decr' command 
redis 127.0.0.1:6379> decr age //自减 (integer) 
20 
redis 127.0.0.1:6379> decrby age 
(error) ERR wrong number of arguments for 'decrby' command 
redis 127.0.0.1:6379> decrby age 
1 //自减设置步长 (integer) 19 
redis 127.0.0.1:6379> append name ... //追加 在name后面追加.... 
(integer) 14 
redis 127.0.0.1:6379> get name 
"xiaobaiyang..." 
redis 127.0.0.1:6379> strlen name //获得字符串的长度 
(integer) 14 
redis 127.0.0.1:6379> del name //删除键值 
(integer) 1 
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> get name 
(nil) 
redis 127.0.0.1:6379> ============================下面是hash================= ##hash类型类似新建一个字符串表格,表格里面放着键不重复的数据,类似Map<map> 
redis 127.0.0.1:6379> hset myhash1 name xiaobaiyang //hset 哈希名 键 值 
(integer) 1 //返回结果 
redis 127.0.0.1:6379> hset myhash1 mai xxxx@aa.com 
(integer) 1 
redis 127.0.0.1:6379> hget myhash1 name //获取值 hget 哈希名 键 
"xiaobaiyang" 
redis 127.0.0.1:6379> hmset myhash1 key1 1 key2 2 //一次设置多个值 
OK 
redis 127.0.0.1:6379> hmget myhash1 name mai key1 key2 //一次获得多个值 
1) "xiaobaiyang" 
2) "xxxx@aa.com" 
3) "1" 
4) "2" 
redis 127.0.0.1:6379> hsetnx myhash1 name xxxx //类似setnx 
(integer) 0 
redis 127.0.0.1:6379> hget myhash1 name 
"xiaobaiyang" 
redis 127.0.0.1:6379> hsetnx myhash1 key3 3 
(integer) 1 
redis 127.0.0.1:6379> hget myhash1 key3 
"3" 
redis 127.0.0.1:6379> hset myhash1 age 11 
(integer) 1 
redis 127.0.0.1:6379> hincr myhash1 age //无该方法 
(error) ERR unknown command 'hincr' 
redis 127.0.0.1:6379> hincrby myhash1 age 
(error) ERR wrong number of arguments for 'hincrby' command 
redis 127.0.0.1:6379> hincrby myhash1 age 2 //有这个方法 
(integer) 13 
redis 127.0.0.1:6379> hexists myhash1 age //看看是否存在该属性 
(integer) 1 
redis 127.0.0.1:6379> hexists myhash1 age1 
(integer) 0 
redis 127.0.0.1:6379> hlen myhash1 //哈希里面键的数量 
(integer) 6 
redis 127.0.0.1:6379> hdel myhsh1 //无法直接删除整个表 
(error) ERR wrong number of arguments for 'hdel' command 
redis 127.0.0.1:6379> hdel myhash1 age1 //删除哈希里面的属性 
(integer) 0 
redis 127.0.0.1:6379> hexists myhash1 age 
(integer) 1 
redis 127.0.0.1:6379> hkeys myhash1//显示全部keys 
1) "name" 
2) "mai" 
3) "key1" 
4) "key2" 
5) "key3" 
6) "age" 
redis 127.0.0.1:6379> hvals myhs //显示全部值 
(empty list or set) 
redis 127.0.0.1:6379> hvals myhash1 
1) "xiaobaiyang" 
2) "xxxx@aa.com" 
3) "1" 
4) "2" 
5) "3" 
6) "13" 
redis 127.0.0.1:6379> hgetall myhash1 //显示key和values 
1) "name" 
2) "xiaobaiyang" 
3) "mai" 
4) "xxxx@aa.com" 
5) "key1" 
6) "1" 
7) "key2" 
8) "2" 
9) "key3" 
10) "3" 
11) "age" 
12) "13" 
redis 127.0.0.1:6379> quit //退出
分享到:
评论

相关推荐

    Redis笔记整理-五中数据类型之String和Hash

    Redis笔记整理-五中数据类型之String和Hash,这两种数据类型是我们常用语做缓存,从而减轻数据库的压力,缓存我们一般放到服务成,被多个表现成调用达到公用性

    Redis String 类型和 Hash 类型学习笔记与总结

    Redis String 类型和 Hash 类型是 Redis 数据库中两种基本的数据结构,它们各自有着独特的特性和应用场景。在本篇学习笔记中,我们将深入探讨这两种类型,了解它们的功能、操作方法以及如何在实际应用中有效利用。 ...

    NoSQL数据库之Redis数据库管理三(string类型和hash类型)

    本篇文章将主要聚焦于Redis中的两种基础数据类型——String和Hash,以及它们在数据库管理中的应用。 首先,让我们深入了解String类型。在Redis中,String是最基本的数据类型,可以存储字符串、整数或浮点数。例如,...

    NoSQL数据库之Redis数据库管理一(string类型和hash类型)

    String是Redis中最基础的数据类型,它可以存储字符串、整数或浮点数。在Redis中,一个键最多可以存储512MB的值。String类型的操作包括设置、获取、递增、递减、追加等,这使得它非常适合用于计数器、简单的缓存场景...

    Redis中的String类型及使用Redis解决订单秒杀超卖问题

    本系列将和大家分享Redis分布式缓存,本章主要简单介绍下Redis中的String类型,以及如何使用Redis解决订单秒杀超卖问题。 Redis中5种数据结构之String类型:key-value的缓存,支持过期,value不超过512M。 Redis是...

    Redis学习资料

    Redis学习手册 Hash数据类型 doc Redis学习手册 Key操作命令 doc Redis学习手册 List数据类型 doc Redis学习手册 Set数据类型 doc Redis学习手册 Sorted Sets数据类型 doc Redis学习手册 String数据类型 doc Redis...

    Spring boot 集成 redis (解决String类型乱码) 缓存用redis

    本文将详细讲解如何在Spring Boot项目中集成Redis,并解决String类型的乱码问题。 首先,我们需要在项目中引入Redis的相关依赖。在`pom.xml`(如果你使用的是Maven)或`build.gradle`(如果你使用的是Gradle)文件...

    redis之string介绍

    其中`sds`(Simple Dynamic String)是Redis自定义的一种动态字符串实现,与C语言的标准字符串相比,它具有以下几个优点: 1. **常数复杂度获取字符串长度**:`sds`结构体中维护了一个额外的变量来记录字符串长度,...

    NoSQL数据库之Redis数据库管理二(string类型和hash类型)

    它支持多种数据结构,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。在本篇文章中,我们将深入探讨其中的字符串类型和哈希类型。 ### 字符串类型(String) **1. 基本...

    redis的安装与string类型笔记md版

    redis的安装与string类型笔记md版

    Redis02 使用Redis数据库(String类型)全面解析

    标题中提到的“Redis02 使用Redis数据库(String类型)全面解析”是关于如何在Redis数据库中操作String类型数据的知识点。Redis是一种广泛使用的开源内存数据结构存储系统,可以用作数据库、缓存或消息中间件。Redis...

    Java操作Redis的多种数据类型

    本文将深入探讨如何使用Java操作Redis的四种主要数据类型:字符串(String)、列表(List)、哈希(Hash)和集合(Set)。 首先,我们来看**字符串类型**(String)。在Redis中,字符串是最基础的数据类型,可以...

    Java操作Redis,实现String、List、Map的set和get

    本文将深入探讨如何使用Java来操作Redis,包括设置和获取String、List和Map类型的数据,并且会介绍如何进行封装和单元测试。 首先,要与Redis进行交互,我们需要引入Jedis库,这是Java最常用的Redis客户端。在你的...

    c#操作Redis的5种基本类型汇总

    * 简介:String是Redis最基本的类型,可以理解成与Memcached一样的类型,一个key对应一个value。String类型是二进制安全的,意思是Redis的String可以包含任何数据。 * 应用场景:存储简单的键值对,比如统计某个网站...

    Redis 数据类型String Hash list set使用场景

    String类型使用场景 计数器 例如一篇文章有多少人看过使用 INCR article:readcount:文章id 取值为GET article:readcount:文章id hash类型使用场景 电商的购物车 hset cart:用户id 商品id 商品数量 增加同样商品的...

    Redis实战_Redis实战中文完整版_Redis快速入门_Redis数据类型及操作_Redis常用

    - **字符串(String)**:最基础的数据类型,支持设置、获取、增加、减少等操作。 - **哈希(Hash)**:用于存储键值对集合,适用于存储对象。 - **列表(List)**:有序的元素集合,支持两端插入和弹出元素。 - **...

    C#操作Redis明细内容 C#调用redis c#使用redis业务 C# Redis操作类 C#中Redis封装的类 C#

    3)支持多种数据类型,常见的如 string、list、hash、set、zset、bitmaps、hyperloglog、geo 4)应用场景广泛:常作为缓存使用,分布式锁、数据共享等 Redis 支持的数据类型有哪些?1)String(字符类型) 2)Hash...

    java redis 各类型操作实例

    本文将深入探讨如何使用Java与Redis进行各种类型的操作,并基于Maven项目管理来构建我们的示例代码。 首先,为了在Java项目中使用Redis,我们需要引入Jedis库,这是一个流行的Java Redis客户端。在Maven项目的`pom....

    Net调用Redis缓存示例

    Redis中的String是最基本的数据类型,用于存储单一值。在ServiceStack.Redis中,可以使用`Set`和`Get`方法来设置和获取键值: ```csharp redis.Set("key", "value"); string value = redis.Get("key"); ``` ### ...

Global site tag (gtag.js) - Google Analytics