Redis 一个内存数据库,通过 Key-Value 键值对的的方式存储数据。由于 Redis 的数据都存储在内存中,所以访问速度非常快,因此 Redis 大量用于缓存系统,存储热点数据,可以极大的提高网站的响应速度。

Redis通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

String 子串类型 常用基本操作

1.set  键  值     # ------------------------------------设置一个键和对应的值

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> set name 'www'
OK
127.0.0.1:6379[1]> set name1 'eee'
OK
127.0.0.1:6379[1]> set name2 'rrr'
OK
127.0.0.1:6379[1]> keys *
1) "name2"
2) "name1"
3) "name"

  

2.get  键          #-------------------------------------获取一个键对应的值

127.0.0.1:6379[1]> get name
"www"
127.0.0.1:6379[1]> get name1
"eee"
127.0.0.1:6379[1]> get name2
"rrr"

  

3.setnx  键  值       #---------------------------------设置一个不存在的键,若存在则返回0,设置失败

127.0.0.1:6379[1]> setnx name sss
(integer) 0
127.0.0.1:6379[1]> setnx name3 sss
(integer) 1
127.0.0.1:6379[1]> get name3
"sss"

  

4.setex  键  时间  值      #---------------------------设置一个键值得有效时间

127.0.0.1:6379[1]> setex name6 15 wwwwwwww
OK
127.0.0.1:6379[1]> ttl name6
(integer) 10
127.0.0.1:6379[1]> ttl name6
(integer) 8
127.0.0.1:6379[1]> ttl name6
(integer) 5
127.0.0.1:6379[1]> ttl name6
(integer) -2

  

5.setrange   键   位置   值    #----------------------在键的指定位置插入值

127.0.0.1:6379[1]> setrange name6 0 zzzzzzzz
(integer) 10
127.0.0.1:6379[1]> get name6
"zzzzzzzzww"

  

6.msetnx  键1  值1   键2   值2....   #--------------批量设置不存在的键值

127.0.0.1:6379[2]> msetnx we 'we' er 'er' rt 'rt'
(integer) 1
127.0.0.1:6379[2]> get we
"we"
127.0.0.1:6379[2]> get er
"er"
127.0.0.1:6379[2]> get rt
"rt"

  

7.getset   键   新值                #---------------------获取键值,并设置为新值

127.0.0.1:6379[2]> getset we ew
"we"
127.0.0.1:6379[2]> get we
"ew"

  

8.getrange   键   0   4           #---------------------获取指定范围位置上的值

127.0.0.1:6379[2]> set name '12345678'
OK
127.0.0.1:6379[2]> getrange name 1 3
"234"

  

9.mget   键1   键2  ....          #---------------------批量获取键对应的值

127.0.0.1:6379[2]> mget we er rt
1) "ew"
2) "er"
3) "rt"

10.incr    键                            #---------------------为指定的键值做自加1操作

127.0.0.1:6379[2]> set id 12
OK
127.0.0.1:6379[2]> incr id
(integer) 13
127.0.0.1:6379[2]> incr id
(integer) 14
127.0.0.1:6379[2]> get id
"14"

  

11.incrby 键    值                    #----------------------设置指定键加上指定的值

127.0.0.1:6379[2]> incrby id 14
(integer) 28
127.0.0.1:6379[2]> get id
"28"

  

12.decr   键                            #----------------------指定键的值做自减1操作

127.0.0.1:6379[2]> decr id
(integer) 27
127.0.0.1:6379[2]> decr id
(integer) 26
127.0.0.1:6379[2]> get id
"26"

  

13.decrby  键    值                 #-----------------------设置指定的键值减去指定的值

127.0.0.1:6379[2]> decrby id 12
(integer) 14
127.0.0.1:6379[2]> get id
"14"

  

14.append 键    值                #-----------------------给指定的键值追加

127.0.0.1:6379[2]> set name 'yuliang'
OK
127.0.0.1:6379[2]> append name good
(integer) 11
127.0.0.1:6379[2]> get name
"yulianggood"

15.strlen   键                        #-----------------------求键值的长度

127.0.0.1:6379[2]> strlen name
(integer) 11

  

Redis (非关系型数据库) 数据类型 之 String类型的更多相关文章

  1. Redis (非关系型数据库) 数据类型 之 list列表类型

    Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边) list即可以作为“栈”也可以作为"队列". 操作: >lpush ...

  2. Redis非关系型数据库

    1.简介 Redis是一个基于内存的Key-Value非关系型数据库,由C语言进行编写. Redis一般作为分布式缓存框架.分布式下的SESSION分离.分布式锁的实现等等. Redis速度快的原因: ...

  3. redis非关系型数据库的基本语法

    导入并连接数据库: import redis # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库 import time # host是redis ...

  4. Redis 非关系型数据库 ( Nosql )

    简介: Redis 是一个开源的,高性能的 key-value 系统,可以用来缓存或存储数据. Redis 数据可以持久化,并且支持多种数据类型:字符串(string),列表(list),哈希(has ...

  5. redis 非关系型数据库

    redis 类型,数据存在磁盘里面,所以存储速度比较快,其他数据类型还是存储在数据库所以比较慢些 链接redis数据库: r=redis.Redis(host="%%%%%%%", ...

  6. python 之操作redis数据库(非关系型数据库,k-v)

    数据库: 1. 关系型数据库 表结构 2. 非关系型数据库 nosql (k - v 速度快),常用的时以下三种: memcache 存在内存里 redis 存在内存里 mangodb 数据还是存在磁 ...

  7. 数据库基础 非关系型数据库 MongoDB 和 redis

    数据库基础 非关系型数据库 MongoDB 和 redis 1 NoSQL简介 访问量增加,频繁的读写 直接访问(硬盘)物理级别的数据,会很慢 ,关系型数据库的压力会很大 所以,需要内存级的读写操作, ...

  8. JavaWeb笔记(十)非关系型数据库Redis

    Redis Redis是一款高性能的NOSQL系列的非关系型数据库 主流的NOSQL产品 键值(Key-Value)存储数据库 相关产品: Tokyo Cabinet/Tyrant.Redis.Vol ...

  9. Redis非关系型缓存数据库集群部署、参数、命令工具

    <关系型数据库与非关系型数据库> 关系数据库:mysql.oracle.DB2.SQL Server非关系数据库:Redis(缓存数据库).MongodDB(处理海量数据).Memcach ...

随机推荐

  1. Mysql 表约束 非空、唯一、主键、自增长、默认、外键约束(基础6)

    非空(not null).唯一(unique key).主键(primary key).自增长(auto_increment).默认约束(default) 准备基础环境: mysql> crea ...

  2. Springmvc配置时间日期转换

    1.局部日期转换 @Controller public class ProductController{ @RequestMapping(value="/test/springmvc.do& ...

  3. php打印错误报告

    //error handler functionfunction customError($errno, $errstr){ echo "<b>Error:</b> ...

  4. CentOS 下搭建Gitlab

    centos7安装部署gitlab服务器   我这里使用的是centos 7 64bit,我试过centos 6也是可以的! 1. 安装依赖软件 yum -y install policycoreut ...

  5. Python __import__() 函数

     Python OS 文件/目录方法 Python 面向对象  Python __import__() 函数  Python 内置函数 描述 __import__() 函数用于动态加载类和函数 . 如 ...

  6. unity3D OnTriggerEnter和OnCollisionEnter的区别

    1,测试OnTriggerEnter和OnCollisionEnter的区别 测试:如果两个物体A,B 两者都有碰撞体collider(Box Collider,Sphere Collider,Cap ...

  7. ASP.Net MVC 在ajax接收controller返回值为Json数据

    首先,再次回忆一下ajax的标准用法:(这张图写的比较详细了)(转) 页面部分ajax代码: $.ajax({            url: "/Home/Login?account=&q ...

  8. polymorphism多态

    [概念] 方法名相同,具体操作根据类不同. eg 有open()方法的ebook, kindle 都会被打开 eg 动物叫声不同 inheritance:只有superclass subclass都有 ...

  9. @Transational)的方法,注解失效的原因和解决方法

    在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的. 比如,下面代码例子中,有两方法,一个有@Transational注解,一个没有.如果 ...

  10. 访问注解(annotation)的几种常见方法

    java的注解处理器类主要是AnnotatedElement接口的实现类实现,为位于java.lang.reflect包下.由下面的class源码可知AnnotatedElement接口是所有元素的父 ...