1)nosql数据库主要由以下特点:非关系型的、分布式的、开源的、水平可扩展的。
1,处理超大量的数据
2,运行在便宜的PC服务器集群上,
3,击碎了性能瓶颈。
1)对数据高并发读写。
2)对海量数据的高效率存储和访问。
3)对数据的高扩展性和高可用性。
redis支持的类型:
Sring 类型
set name lijie
get name lijie
set name lichao
get name lichao
覆盖了
setnx设置key对应的值为string类型的value,如果存在不更新,不存在更新
setnx name lijie
返回0。
setex设置key对应的值为String类型的value,并制定有效期
setex haircolor 10 red
get haircolor
red
get haricolor
nil
setrange 设置指定key的value值的子字符串
setrange name 6 gmail.com
返回字符串的长度。
mset 一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值
被设置。
mset key1 lijie key2 braosd key3 sadf
get key1
lijie
get key4
nil
msetnx 一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值
被设置,但是不会覆盖已存在的key。
getset 设置key的值,并返回key的旧值。
getrange 获取key的value值的子字符串。
getrange name 0 5
mget 一次获取多个key的值,如果对应的key不存在则返回nil
mget key1 key2 key3
incr 对key的值做加加操作,并返回新的值
incrby 同incr类似,加指定值,key不存在时候会设置key,并认为原来的value是0。
decr
decrby
append
strlen 取指定key的value的长度
hash类型
它是一个String类型的field和value的映射表。它的添加、删除操作都是0(1)。hash特别适合用于存储对象。相较于将对象的每个字段存成单个string类型,将一个对象存储在hash类型
中会占用更少的内存,并且可以更方便的存取整个对象。
hset设置hash field为指定值,如果key不存在,则先创建。
hset myhash field 1 hello
hset user:001 name lijie
hget user:001 name
hincrby
hincrby user:003 age 5
hexists
hlen 返回指定field的数量。
hdel 删除指定hash的field。
hkeys 返回hash的所有field
hvals 返回hash的所有value
hgetall 返回所有的key,value
list类型
它是一个链表结构,主要功能是push,pop、获取一个范围的所有值等等,操作Key理解为链表
的名字。Redis的list类型其实就是一个每个子元素都是String类型的双向链表。我们可以通过
push,pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列
lpush
在key对应list的头部添加字符串元素
lpush mylist "world"
lpush mylist "hello"
lrange mylist 0 -1
rpush 在key对应list的尾部添加字符串元素
linsert 在key对应list的特定位置前或后添加字符串。
linert list3 before one "three"
lset 设置list指定位置下标的元素值
lrem 从key对应list中删除n个和value相同的元素。(n<0从尾部删除,n=0全部删除)
lrem mylist5 1 "hello" 从mylist5中删除一个与hello相同的元素
ltrim 保留指定key的值范围内的数据
lpop 从list的头部删除元素,并返回删除元素。
rpop 从list的尾部删除元素,并返回删除元素。
rpoplpush 从第一个list的尾部移除元素并添加到第二个list的头部。
rpoplpush mylist5 mylist6 从mylist5的尾部移除元素添加到mylist6的头部。
lindex 返回名称为key的list中index位置的元素
set类型
set是集合,它是String类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是0(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns的好友推荐和blog的tag功能。
sadd 向名称为key的set中添加元素。
sadd myset "hello"
sadd myset "world"
smembers myset 查看集合中的所有成员
srem 删除名称为key的set中的元素。
spop随机返回并删除名称为key的set中的一个元素。
sdiff 返回所有给定key与第一个key的差集。
sdiff myset2 myset3 返回myset2有myset3没有的元素
sdiffstore 返回所有给定key与第一个key的差集,并将结果存为另一个key
sdiffstore myset4 myset2 myset3 意思是将myset2与myset3的差集存在myset4中。
sinter 返回所有给定key的交集。
sinterstore 交集存储在另一个集合里
sunion 返回所有给定key的并集。
sunionstore 返回给定key的并集存储在另一个集合里
smove 从第一个key对应的set中移除member并添加到第二个对应的set中。
smove myset2 myset7 three 将myset2中的three元素移动到myset7中。
sismember 测试member是否是名称为key的set的元素。
sismember myset2 two 判断two元素是否是myset2集合的元素。
srandmember 返回名称为key的set的一个元素,但不删除元素。
sorted set类型
它在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后
,zset会自动重新按新的值调整顺序。可以理解为有两列mysql表,一列存value,一列存顺序
。操作中Key裂解为zset的名字。
zadd 向名称为key的zset中添加元素member,score用于排序。如果该元素存在,则更新其
顺序。
zadd myzset 1 "one"
zrange myzset 0 -1 withscores
zrem 删除名称为key的zset中的元素member。
zrem myzset two
zincrby 如果在名称为key的zset中已经存在元素member,则该元素的score增加increment
,否则向该集合中添加该元素,其score的值为increment。
zrank 返回名称为key的zset中member元素的排名,即下标。
分享到:
相关推荐
二、 redis学习笔记之数据类型 3 三、 redis学习笔记之排序 11 四、 redis学习笔记之事务 16 五、 redis学习笔记之pipeline 20 六、 redis学习笔记之发布订阅 23 七、 redis学习笔记之持久化 28 八、 redis学习笔记...
Redis学习笔记
### 超详细的Redis学习笔记知识点汇总 #### 1. Redis 的启动与停止 ##### 1.1 直接启动 Redis 服务 - **默认端口启动**:使用 `$ redis-server` 命令,默认监听端口为 `6379`。 - **指定端口启动**:使用 `$ ...
这个“redis学习笔记.zip”压缩包很可能是包含了关于Redis的学习资料,可能包括概念解释、操作教程、实践案例等内容,适合初学者和有一定基础的学习者参考。 Redis的学习可以分为以下几个主要部分: 1. **基础知识...
Redis学习笔记 Redis是基于键值对存储的NoSQL数据库,可以用来存储和检索数据。下面是Redis的基础知识点: 基础命令 * set key value:保存一个数据,重复set相同的key只会保存最新的value * get key:获取一个...
### Redis 学习笔记知识点概览 #### 一、Redis 概述与应用场景 ##### 1.1 NoSQL 数据库简介 - **定义**: NoSQL(Not Only SQL)泛指非关系型数据库,它们通常不使用传统的表格关系来存储数据。 - **特性**: NoSQL ...
Redis学习笔记 Redis是一个开源的基于键值对(Key-Value)NoSQL数据库,使用ANSI C语言编写、支持网络、基于内存但支持持久化。性能优秀,并提供多种语言的API。Redis可以被称为KV数据库,键值对数据库,内部存储...
在本“Redis学习笔记-包括周阳和狂神说”中,我们将深入探讨Redis的核心概念、功能特性以及实际应用。 1. Redis基本概念 - 键值对:Redis的核心数据结构,键是唯一的标识,值可以是多种类型,如字符串、哈希、列表...
Redis还支持主从复制和哨兵机制(Sentinel),前者可以实现数据的同步备份,后者则用于管理多个Redis服务器,实现故障转移。Redis集群的建立和管理可以进一步提升数据库的高可用性和扩展性,支持数据分片和负载均衡...
Redis学习笔记
redis学习笔记整理 一、 redis 环境搭建 2 二、 redis学习笔记之数据类型 3 三、 redis学习笔记之排序 11 四、 redis学习笔记之事务 16 五、 redis学习笔记之pipeline 20 六、 redis学习笔记之发布订阅 23 七...
本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...
### Redis介绍 Redis是一种开源的键值存储系统,属于NoSQL数据库的一种,它与Memcached相似,但提供了数据持久化的能力。...这些内容覆盖了Redis学习笔记的主要知识点,有助于理解Redis的核心技术和应用场景。
这份2022年的Redis学习笔记涵盖了Redis的基础概念、核心特性、使用场景以及最佳实践。 一、Redis简介 Redis是一个开源(BSD许可)的,非关系型、内存中的数据结构存储系统,可以用作数据库、缓存和消息中间件。它...