String是最简单的数据类型,一个key对应一个value,string类型是二进制安全的,redis的String可以包含任何数据,

比如jpg图片或者系列化的对象。

Set方法:

设置key对应的值为String类型的value,例如我们添加一个

name=xiaoming的键值对。

[root@marslv bin]# redis-cli -h 127.0.0.1 -p 6379 -a lh801309
127.0.0.1:6379> set name xiaoming
OK
127.0.0.1:6379> get name
"xiaoming"
127.0.0.1:6379>

如果在set同一个键的话会覆盖,如果不想覆盖怎么办?

可以用setnx方法,如果不存在添加,存在返回0

127.0.0.1:6379> setnx name xiaohong
(integer) 0

setex方法:指定设置键的有效期:

127.0.0.1:6379> setex age 10 10
OK
127.0.0.1:6379> get age
"10"
127.0.0.1:6379> get age
(nil)

setrange方法:替换子字符串

127.0.0.1:6379> set mail lv@163.com
OK
127.0.0.1:6379> SETRANGE mail 4 @gmail.com
(integer) 14
127.0.0.1:6379> get mail
"lv@1@gmail.com"
127.0.0.1:6379>

mset方法:批量插入

127.0.0.1:6379> MSET key1 1 key2 2 key3 3
OK
127.0.0.1:6379> get key1
"1"
127.0.0.1:6379> get key2
"2"
127.0.0.1:6379> get key3
"3"

msetnx 一次性设置多个key的值,成功返回ok表示所有值被设置了,

失败返回0表示没有任何值被 设置,但是不会覆盖已经存在的key

127.0.0.1:6379> MSETNX key4 4 key5 5 key3 0
(integer) 0
127.0.0.1:6379> get key4
(nil)

只要一个不成功就返回0,因为key3已经存在

getset方法:获取旧值并设置新值

127.0.0.1:6379> get key1
"1"
127.0.0.1:6379> getset key1 100
"1"
127.0.0.1:6379> get key1
"100"

getrange方法:获取指定的子字符串

127.0.0.1:6379> get mail
"lv@1@gmail.com"
127.0.0.1:6379> GETRANGE mail 0 6
"lv@1@gm"

mget方法:批量获取

127.0.0.1:6379> mget key1 key2 key3
1) "100"
2) "2"
3) "3"

incr方法:对key的值做加加操作,并返回新值

127.0.0.1:6379> get key1
"100"
127.0.0.1:6379> INCR key1
(integer) 101
127.0.0.1:6379> INCR key1
(integer) 102

incrby方法:同incr,加指定的值,key不存在的时候回设置key,

并认为原来的value是0

127.0.0.1:6379> get key1
"102"
127.0.0.1:6379> INCRBY key1 5
(integer) 107
设置正数就是加,设置负值就是减

decr方法:对key的值做减减操作。

decrby方法:同decr类似,减指定值

append方法:给指定的key的value追加

127.0.0.1:6379> get mail
"lv@1@gmail.com"
127.0.0.1:6379> append mail .net
(integer) 18
127.0.0.1:6379> get mail
"lv@1@gmail.com.net"
127.0.0.1:6379>

strlen 获取指定key的value值

127.0.0.1:6379> get mail
"lv@1@gmail.com.net"
127.0.0.1:6379> STRLEN mail
(integer) 18

redis数据类型:Strings的更多相关文章

  1. Redis数据类型Strings、Lists常用操作指令

    Redis数据类型Strings.Lists常用操作指令 Strings常用操作指令 GET.SET相关操作 # GET 获取键值对 127.0.0.1:6379> get name (nil) ...

  2. Redis数据类型-Strings

    Redis 简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI ...

  3. redis数据类型及使用场景

    Redis数据类型  String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令:  set,get,decr,incr,mge ...

  4. redis数据类型-字符串类型

    Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...

  5. Redis数据类型和常用命令

    Redis相较于其它的数据库虽然简单,但是要熟记所有命令的用法也并非易事.一个简单的技巧是通过要操作的数据类型来将这些命令进行结构化. 数据类型和对应命令 所有存储于redis中的数据都对应于一个键值 ...

  6. Redis数据类型简介(十分钟快速学习Redis)

    如何在ubuntu18.04上安装和保护redis 如何连接到Redis数据库 如何管理Redis数据库和Keys 如何在Redis中管理副本和客户端 如何在Redis中管理字符串 如何在Redis中 ...

  7. 面试官问我redis数据类型,我回答了8种

    面试官:小明呀,redis 有几种数据结构呀? 小明:8 种 面试官:那你说一下分别是什么? 小明:raw,int,ht,zipmap,linkedlist,ziplist,intset,skipli ...

  8. Redis入门到放弃系列-redis数据类型

    Redis数据类型? Redis 提供一些常用的数据类型:Strings.Lists.Sets.Sorted sets.Hashes.Arrays.Bitmap.Streams Strings(字符串 ...

  9. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  10. Redis数据类型介绍

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

随机推荐

  1. Linq to Sql 左连接查询

    var query = from t0 in context.ExpressSendMaster join t1 in context.Supplier on t0.SupplierCode equa ...

  2. PHP引用操作以及外部操作函数的局部静态变量的方法

    通过引用方式在外部操作函数或成员方法内部的静态变量 下面举个简单的例子,说明三个关于引用方面的问题: 1. 参数引用后函数内进行类型转换同样是地址操作 2. 参数引用后再传递给其他函数时需要再次添加引 ...

  3. hdu1032

    #include <iostream> using namespace std; int main() { int a,b,t,i,max; while(cin >> a &g ...

  4. django模板 实现奇偶分行

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. centos6 + tomcat+ jdk配置步骤

    1. 获取tomcat, jdk安装文件 mkdir /media/smbdirmount -o username=pas,password=111111 //109.110.100.50/pas / ...

  6. 定时发布任务,在global.asax中获取文件的物理路径的方法

    如果要把一个相对路径或者虚拟路径映射道服务器的物理路径,通常会使用Server.MapPath()函数,比如将根目录下的html目录映射为物理路径:Server.MapPath("html& ...

  7. Android;设置TextView加粗 代码设置

    我用过paint的那种方式,不好使. private void setTextBold(TextView textView) { //android中为textview动态设置字体为粗体 textVi ...

  8. 数据库还原失败System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数据库备份

    结尾日志的问题 还原选择中去掉结尾日志就可以了 转载自:http://blog.csdn.net/aojiancc2/article/details/46316451

  9. jquery事件绑定

    window.onload 和 Jquery $(document).ready() 区别 * .用JavaScript的方式window.onload :必须等页面上所有的元素(css/js/图片) ...

  10. iscroll的下拉刷新,上拉翻页。

    首先对iscroll的scrollTo方法进行稍微修改如下图: 对iscroll滑动到屏幕边缘不能弹回的bug进行修复,如下代码: function scrollbug() { var self = ...