Redis 对String数据类型的操作
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数据类型的操作的更多相关文章
- Redis 学习(二) —— 数据类型及操作
Redis支持string.list.set.zset.hash等数据类型,这一篇学习redis的数据类型.命令及某些使用场景. 一.String,字符串 字符串是 Redis 最基本的数据类型.一个 ...
- Redis学习-string数据类型
Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志 型.Key-Value 数据库. redis提供五种数据类型string,hash,list,set及sor ...
- redis 哈希数据类型简单操作(实现购物车案例)
这里不累赘如何安装redis和php redis扩展,主要熟悉调用redis哈希数据类型 简单方法操作如下 1:hSet 2:hGet 4:hDel 5:hGetAll 4:hExists 5:hI ...
- 一:redis 的string类型 - 相关操作
*redisclient使用: =============一类:string的方法================ 介绍:string是redis的最简单类型,一个key相应一个value,strin ...
- redis之string数据类型常用方法总结
目录 redis 字符串(string)[需要掌握] 特点 语法 redis 字符串(string)[需要掌握] 特点 一个键能存储512MB数据 string类型是二进制安全的,可以存储任何数据,比 ...
- Redis学习笔记——数据类型及操作
数据操作 redis是key-value的数据,所以每个数据都是一个键值对 键的类型是字符串 值的类型分为五种: 字符串string 哈希hash 列表list 集合set 有序集合zset 数据操作 ...
- redis学习--String数据类型。
本文摘自:http://www.cnblogs.com/stephen-liu74/archive/2012/03/14/2349815.html 一.概述: 字符串类型是Redis中最为基础的数据存 ...
- [redis] redis 对string类型数据操作
package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.j ...
- 二、Redis基本操作——String(实战篇)
小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...
随机推荐
- MCU晶体旁边电容的作用及振荡电路的分析
绝大多数的MCU爱好者对MCU晶体两边要接一个22pF附近的电容不理解,因为这个电容有些时候是可以不要的.参考很多书籍,讲解的很少,往往提到最多的是起稳定作用,负载电容之类的话,都不是很深入理论的分析 ...
- 一个国外网盘pCloud——支持离线下载
给大家分享一个国外网盘<支持离线下载> https://my.pcloud.com/#page=register&invite=HiegZ8aBrt7
- 获取CentOS系统详情的九个uname命令实例
当你在控制台模式下,无法通过“鼠标右键 > 关于”获取操作系统的信息.这时,在Linux下,你可以使用uname命令,帮助你完成这些工作. Uname是unix name的缩写.在控制台中实际使 ...
- DeepLearning常用库简要介绍与对比
网上近日流传一张DL相关库在Github上的受关注度对比(数据应该是2016/03/15左右统计的): 其中tensorflow,caffe,keras和Theano排名比较靠前. 今日组会报告上tj ...
- 通过从代码层面分析Linux内核启动来探知操作系统的启动过程
通过从代码层面分析Linux内核启动来探知操作系统的启动过程 前言说明 本篇为网易云课堂Linux内核分析课程的第三周作业,我将围绕Linux 3.18的内核中的start_kernel到init进程 ...
- 解决docker中DNS查询的问题
I got a dns error that i can not access dns server, that caused by : /etc/resolv.conf you can find t ...
- 《c程序设计语言》读书笔记--大写转小写
#include <stdio.h> #include <stdlib.h> #include <string.h> int aoti(char c) { if(c ...
- hdu - 1010 Tempter of the Bone (dfs+奇偶性剪枝) && hdu-1015 Safecracker(简单搜索)
http://acm.hdu.edu.cn/showproblem.php?pid=1010 这题就是问能不能在t时刻走到门口,不能用bfs的原因大概是可能不一定是最短路路径吧. 但是这题要过除了细心 ...
- CollectionBase类
在命名空间System.Collections下的CollectionBase类 The CollectionBase class exposes the interfaces IEnumerable ...
- leetcode:Intersection of Two Linked Lists(两个链表的交叉点)
Write a program to find the node at which the intersection of two singly linked lists begins. For ex ...