Redis的 Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字。使用Strings类型,你可以完全实现目前 Memcached 的功能,并且效率更高。还可以享受Redis的定时持久化,操作日志及 Replication等功能。除了提供与 Memcached 一样的get、set、incr、decr 等操作外,Redis还提供了下面一些操作:

  • 获取字符串长度
  • 往字符串append内容
  • 设置和获取字符串的某一段内容
  • 设置及获取字符串的某一位(bit)
  • 批量设置一系列字符串的内容

Redis能存储二进制安全的字符串,最大长度为1GB

127.0.0.1:6379> set name "郭红俊"
OK
127.0.0.1:6379> get name
"\xe9\x83\xad\xe7\xba\xa2\xe4\xbf\x8a"
127.0.0.1:6379> set name "ghj1976"
OK
127.0.0.1:6379> get name
"ghj1976"

 

String类型还支持批量的读写操作

[root@localhost src]# ./redis-cli
127.0.0.1:6379> mset age 31 sex "male"
OK
127.0.0.1:6379> mget age
1) "31"
127.0.0.1:6379> mget age sex
1) "31"
2) "male"
127.0.0.1:6379> get age
"31"
127.0.0.1:6379> del age
(integer) 1
127.0.0.1:6379> mget age sex
1) (nil)
2) "male"
127.0.0.1:6379>

String类型其实也可以用来存储数字,并支持对数字的加减操作。

 

127.0.0.1:6379>
127.0.0.1:6379> incr age
(integer) 1
127.0.0.1:6379>
127.0.0.1:6379> get age
"1"
127.0.0.1:6379> incrby age  5
(integer) 6
127.0.0.1:6379> get age
"6"
127.0.0.1:6379> decr age
(integer) 5
127.0.0.1:6379> get age
"5"
127.0.0.1:6379> decrby age 3
(integer) 2
127.0.0.1:6379> get age
"2"
127.0.0.1:6379> del age
(integer) 1
127.0.0.1:6379> get age
(nil)

说明:

incr 命令给某个变量加一,如果这个变量不存在,则首先建立,使用默认值0,然后加一后是1, 如上面代码。如果这个变量存在,则直接加一。

127.0.0.1:6379> set aa 45
OK
127.0.0.1:6379> get aa
"45"
127.0.0.1:6379> incr aa
(integer) 46
127.0.0.1:6379> get aa
"46"
127.0.0.1:6379> set bb ghh
OK
127.0.0.1:6379> get  bb
"ghh"
127.0.0.1:6379> incr bb
(error) ERR value is not an integer or out of range
127.0.0.1:6379>

 

String类型还支持对其部分的修改和获取操作

 

 

127.0.0.1:6379> set name 郭红俊
OK
127.0.0.1:6379> get name
"\xe9\x83\xad\xe7\xba\xa2\xe4\xbf\x8a"
127.0.0.1:6379> append name "ddd."
(integer) 13
127.0.0.1:6379> get name
"\xe9\x83\xad\xe7\xba\xa2\xe4\xbf\x8addd."
127.0.0.1:6379> strlen name
(integer) 13
127.0.0.1:6379> substr name 0 3
"\xe9\x83\xad\xe7"
127.0.0.1:6379> substr name 0 2
"\xe9\x83\xad"

 

 

更多字符串使用命令参考:

http://www.redisdoc.com/en/latest/string/index.html 

redis 全部命令请看:

http://www.redisdoc.com/en/latest/index.html 

 

简单统计命令如下:

127.0.0.1:6379> dbsize
(integer) 2
127.0.0.1:6379>
127.0.0.1:6379> keys *
1) "sex"
2) "name"
127.0.0.1:6379>

 

dbsize 返回目前存储的数量。

keys 返回满足查询表达式的所有key  keys * 是全部

Redis 对String数据类型的操作的更多相关文章

  1. Redis 学习(二) —— 数据类型及操作

    Redis支持string.list.set.zset.hash等数据类型,这一篇学习redis的数据类型.命令及某些使用场景. 一.String,字符串 字符串是 Redis 最基本的数据类型.一个 ...

  2. Redis学习-string数据类型

    Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志 型.Key-Value 数据库. redis提供五种数据类型string,hash,list,set及sor ...

  3. redis 哈希数据类型简单操作(实现购物车案例)

    这里不累赘如何安装redis和php  redis扩展,主要熟悉调用redis哈希数据类型 简单方法操作如下 1:hSet 2:hGet 4:hDel 5:hGetAll 4:hExists 5:hI ...

  4. 一:redis 的string类型 - 相关操作

    *redisclient使用: =============一类:string的方法================ 介绍:string是redis的最简单类型,一个key相应一个value,strin ...

  5. redis之string数据类型常用方法总结

    目录 redis 字符串(string)[需要掌握] 特点 语法 redis 字符串(string)[需要掌握] 特点 一个键能存储512MB数据 string类型是二进制安全的,可以存储任何数据,比 ...

  6. Redis学习笔记——数据类型及操作

    数据操作 redis是key-value的数据,所以每个数据都是一个键值对 键的类型是字符串 值的类型分为五种: 字符串string 哈希hash 列表list 集合set 有序集合zset 数据操作 ...

  7. redis学习--String数据类型。

    本文摘自:http://www.cnblogs.com/stephen-liu74/archive/2012/03/14/2349815.html 一.概述: 字符串类型是Redis中最为基础的数据存 ...

  8. [redis] redis 对string类型数据操作

    package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.j ...

  9. 二、Redis基本操作——String(实战篇)

    小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...

随机推荐

  1. Jackson学习笔记-对象序列化

    一.用ObjectMapper.readValue(jsonString, Student.class) , ObjectMapper.writeValueAsString(student) impo ...

  2. CentOS单用户模式下修改ROOT密码和grub加密

    Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 Linux 系统启动到多用户模式,并提供正常的网络服务.如果系统管理员需要进行系统维护或系统出现启动异常时 ...

  3. PO/POJO/VO/BO/DAO/DTO

    PO(persistant object) 持久对象在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库 ...

  4. Oracle ->> 查看分区表的每个分区的数据行分布情况

    ora_hash函数用来返回分区号,而dbms_rowid.rowid_object()函数用来返回object_id , ) part_id ,count(*) from sales_fact_pa ...

  5. webapp 开发之iScroll 学习

    demo.html <!doctype html> <html lang="en"> <head> <meta charset=" ...

  6. HttpClient Post Form提交文件/二进制数据

    HttpClient httpClient = HttpClients.createDefault(); HttpPost httppost = new HttpPost(url); Multipar ...

  7. eclipse启动报错 java was started but returned exit code = -805306369

    前几天还工作的好好的eclipse昨天下午启动时突然报错 报错如图: 妹的,好端端突然报错,非常奇怪,关键还是返回一堆看不懂的东西,细看都是eclipse.ini里面的配置信息,看到熟悉的jdk,误以 ...

  8. OpenMp并行提升时间为什么不是线性的?

    最近在研究OpenMp,写了一段代码,如下: #include<time.h> #include<stdio.h> #include<stdlib.h> #incl ...

  9. 设备模型之kobject,kset及其关系

    Linux2.6以后的设备驱动,都是在设备模型的基础上构建的,因此,要编写linux下的设备驱动程序,不论是usb设备,pci设备等,都需要了解设备模型. 设备模型的基础结构体主要是kobject,k ...

  10. 自定义View(7)官方教程:自定义View(含onMeasure),自定义一个Layout(混合组件),重写一个现有组件

    Custom Components In this document The Basic Approach Fully Customized Components Compound Controls ...