使用Redis数据库(String类型)
一 String类型
首先使用启动服务器进程 :
redis-server.exe
1. Set
设置Key对应的值为String 类型的value。
例子:向 Redis数据库中插入一条数据类型为String 的记录。
在客户端输入命令:
1
2
3
4
5
|
C:\software\redis\64bit>redis-cli.exe -h 127.0.0.1 -p 6379 redis 127.0.0.1:6379> set foo test OK redis 127.0.0.1:6379> get foo "test" |
2.setnx
设置key对应的值为string类型的value,如果key已经存在,返回0,nx是not exist的意思。命令简单的理解为: 设置一个key,如果可以key对应的值不存在才更新值。
1
2
3
4
5
6
|
redis 127.0.0.1:6379> setnx foo1 aaa ( integer ) 1 redis 127.0.0.1:6379> get foo1 "aaa" redis 127.0.0.1:6379> setnx foo1 bbb ( integer ) 0 |
3. setex
设置key对应的值为string类型的value,并制定此键值对应的有效期。
例如:添加一个haircolor=red的键值对,并指定有效期为10秒。
1
2
3
4
5
6
|
redis 127.0.0.1:6379> setex haircolor 10 red OK redis 127.0.0.1:6379> get haircolor "red" redis 127.0.0.1:6379> get haircolor (nil) |
4 setrange
设置指定key的value的子字符串
例如: 我们希望将 xpxiaowu的126邮箱替换为gmail邮箱。
1
2
3
4
5
6
|
redis 127.0.0.1:6379> set name abcde@126.com OK redis 127.0.0.1:6379> setrange name 6 gmail.com ( integer ) 15 redis 127.0.0.1:6379> get name "abcde@gmail.com" |
5.mset
一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置。
1
2
3
4
5
6
|
redis 127.0.0.1:6379> mset key1 wangwu key2 lisi OK redis 127.0.0.1:6379> get key1 "wangwu" redis 127.0.0.1:6379> get key2 "lisi" |
6.msetnx
一次设置多个key的值,成功返回ok,表示所有的值都设置了,失败返回0,表示没有没任何值被设置,但是不会覆盖已经存在的key.
如果有一个key没有设置成功,其他key都不会设置成功。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
redis 127.0.0.1:6379> msetnx key1 aaa key2 bbb key3 ccc ( integer ) 0 redis 127.0.0.1:6379> get key1 "wangwu" redis 127.0.0.1:6379> get key2 "lisi" redis 127.0.0.1:6379> get key3 (nil) redis 127.0.0.1:6379> msetnx key3 aaa key4 bbb key5 ccc ( integer ) 1 redis 127.0.0.1:6379> get key1 "wangwu" redis 127.0.0.1:6379> get dkey2 (nil) redis 127.0.0.1:6379> get key3 "aaa" redis 127.0.0.1:6379> get key4 "bbb" redis 127.0.0.1:6379> get key5 "ccc" |
7. get 获得可以对应得string 值,如果key不存在返回nil .
getset 设置key的值,并返回key 的旧值。
getrange
获取key对应的value值的子字符串。
getrange name 0 5
mget
一次获取多个key的值,如果对应key不存在则对应返回nil.
redis 127.0.0.1:6379> mget key1 key2 key3 key4 key5
1) "wangwu"
2) "lisi"
3) "aaa"
4) "bbb"
5) "ccc"
8. incr
对key的值做加加操作,并返回新的值。
incrby
同incr 类似,加指定值,key 不存在时候回设置key,并认为原来的value是0.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
redis 127.0.0.1:6379> set key6 0 OK redis 127.0.0.1:6379> get key6 "0" redis 127.0.0.1:6379> incr key6 ( integer ) 1 redis 127.0.0.1:6379> set key7 1 OK redis 127.0.0.1:6379> get key7 "1" redis 127.0.0.1:6379> incrby key7 5 ( integer ) 6 redis 127.0.0.1:6379> get key7 "6" |
decr
对key的值做减减操作。
decrby
同decr类似,减指定值。
9. append
给指定key的字符串追加value,返回新字符串值的长度。
1
2
3
4
5
6
|
redis 127.0.0.1:6379> get key6 "1" redis 127.0.0.1:6379> append key6 @163.com ( integer ) 9 redis 127.0.0.1:6379> get key6 1@163.com |
以上所述是小编给大家介绍的Redis02 使用Redis数据库(String类型)全面解析,希望对大家有所帮助,如果大家想了解更多内容,敬请关注脚本之家!
使用Redis数据库(String类型)的更多相关文章
- 深入浅出Redis02 使用Redis数据库(String类型)
一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为S ...
- Redis 中 String 类型的内存开销比较大
使用 String 类型内存开销大 1.简单动态字符串 2.RedisObject 3.全局哈希表 使用 Hash 来存储 总结 参考 使用 String 类型内存开销大 如果我们有大量的数据需要来保 ...
- 深入浅出Redis03 使用Redis数据库(hashes类型)
一 hashes类型及操作 Redis hash是一个string类型的field和value的映射表.它的添加,删除操作都是0(1)(平均).hash特别适合用于存储对象,相较于对将对象的每个字段存 ...
- [redis] redis 对string类型数据操作
package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.j ...
- redis的String类型以及其操作
Redis的数据类型 String类型以及操作 String是最简单的数据类型,一个key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比如jpg图片或 ...
- Redis中String类型的Value最大可以容纳数据长度
项目中使用redis存储,key-value方式,在Redis中字符串类型的Value最多可以容纳的数据长度是512M 官方信息: A String value can be at max 512 M ...
- 一:redis 的string类型 - 相关操作
*redisclient使用: =============一类:string的方法================ 介绍:string是redis的最简单类型,一个key相应一个value,strin ...
- 深入浅出Redis04使用Redis数据库(lists类型)
一 lists类型及操作 List是一个链表结构,主要功能是push,pop,获取一个范围的所有值等等,操作中key理解为链表的名字. Redis的list类型其实就是一个每个子元素都是sring类 ...
- redis的string类型
string : string类型是二进制安全的, 可以包含任何数据,比如jpg图片或者序列化的对象 . 方法 : set : 设置key对应的值为string类型的value set name ...
随机推荐
- ES9新特性
这篇文章主要介绍ES2018(ES9)的新特性, 以及使用方法 JS是一门跨平台的语言, ES6也就是ECMAScript 2015 花费了5年的时间敲定, 是一次非常大的改版, 之后每年都有一个小版 ...
- bind智能DNS + bindUI管理系统
bind UI 管理系统 https://github.com/cucker0/BindUI # bind安装 cd /usr/local/src wget http://ftp.isc.org/is ...
- python多线程、多进程相关知识
Queue Queue用于建立和操作队列,常和threading类一起用来建立一个简单的线程队列. 首先,队列有很多种,根据进出顺序来分类,可以分成 Queue.Queue(maxsize) FIFO ...
- HanLP分词命名实体提取详解
HanLP分词命名实体提取详解 分享一篇大神的关于hanlp分词命名实体提取的经验文章,文章中分享的内容略有一段时间(使用的hanlp版本比较老),最新一版的hanlp已经出来了,也可以去看看新版 ...
- RedHat如何关闭防火墙 : http://blog.csdn.net/chongxin1/article/details/76072758
版本号:RedHat6.5 JDK1.8 Hadoop2.7.3 hadoop 说明:从版本2开始加入了Yarn这个资源管理器,Yarn并不需要单独安装.只要在机器上安装了JDK就可以直接安 ...
- 自然语言处理之Levenshtien Distance算法研究
自然语言处理中,一个很重要的应用就是问答系统,这里面,涉及到问题和知识库里面的问题的匹配度,从而检索出问题的答案,这个是一个比较常见的应用算法. 编辑距离(Edit Distance),又称Leven ...
- js switch 函数类型 序列化 转义
switch(name){ case '1': age = 123; break; case '2': age = 456; break; default : age = 777; } 函数 func ...
- sublime text2+Ctags+Cscope替代Source Insight
说明:以Windows系统下查看C++代码为例.因为Source Insight(以下简称SI)是收费软件,且界面丑陋,所以考虑其替代方案,发现Sublime Text3(以下简称ST3) + Cta ...
- NPOI将DataGridView中的数据导出+导出Chart图表图片至Excel
#region 导出Excel private HSSFWorkbook Workbook = null; private Sheet SheetOne = null; private DataFor ...
- 使用copydata实现进程之间数据传递
Winform to Winfrom==> 发送端==> using System; using System.Runtime.InteropServices; namespace Cop ...