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. JavaWeb笔记——利用过滤器实现页面静态化

    1.说明 页面静态化是把动态页面生成的html保存到服务器的文件上,然后再有相同请求时,不再去执行动态页面,而是直接给用户响应上次已经生成的静态页面. * 核心思路为拦截请求,实现请求转发指向静态页面 ...

  2. wordpress编辑器无法切换/输入

    出现问题:“可视化”和“文本”无法切换,编辑区也无法输入文字 解决方法: 打开wp-config.php,在 require_once(ABSPATH . 'wp-settings.php'); 后面 ...

  3. 如何在Eclipse中添加Tomcat的jar包

    原文:如何在Eclipse中添加Tomcat的jar包 右键项目工程,点击Java Build Path 点击Add Library,选择Server Runtime 选择Tomcat版本 此时就看到 ...

  4. Spring Loaded is a JVM agent for reloading class file changes

    <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot ...

  5. c# 计算1-100之间的所有奇数的和

    求1-100之间所有奇数整数和: class Program { static void Main(string[] args) { ,); Console.WriteLine("1-100 ...

  6. git的使用--不错的博客【转】

    转自:http://www.cnblogs.com/wang_yb/p/3867221.html GIT 的常规操作 常规操作也是我自己平时常用的几个命令, 学自于 pro git 这本书中 git ...

  7. 21.allegro下鼠标形状设置[原创]

    1. -- --- ----- ---

  8. 第一篇 ERP是什么?-从道的层面浅谈我的理解

    世界上称为ERP软件的软件很多,国外的有SAP,ORACLE,国内的有金蝶,用友,浪潮.这些由不同的厂商开发制作的软件总有其软件适用的场合.这个场合就是企业,而且是市场经济中的企业.个人是不会购买ER ...

  9. Pascal's Triangle(帕斯卡三角)

    Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Retur ...

  10. IntelliJ IDEA创建第一个Java小程序

    我尝试了汉化,会影响IDE部分功能. 其实IDE完全没必要汉化,就那么几个单词,不懂的话,就有道字典查一下吧. 汉化易于入门,不汉化一样可以使用. 我爱这个编辑器,非常之强大,就是比较占内存. 我爱这 ...