Redis

一、概念
1. 什么是Redis
Redis是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。

Redis可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。

与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向,每秒可以处理超过 10万次读写操作,
是已知性能最快的Key-Value DB。另外,Redis 也经常用来做分布式锁。除此之外,Redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。
2. 什么是NOSQL
NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。
二、Redis的数据结构
redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构:
	1) 字符串类型(string)
	2) 哈希类型(hash): Map
	3) 列表类型(linkList): LinkList(支持重复元素)
	4) 集合类型(set): Set(不允许重复元素)
	5) 有序集合类型(sortedset): 不允许重复元素,且元素有顺序(也是相当于Colletion形式,但是可以自动排序)
三、命令操作
1. 字符串类型(String)
1. 存储:set key value
	127.0.0.1:6379> set username zhangsan
	OK
	
2. 获取:get key
	127.0.0.1:6379> get username
	"zhangsan"
	
3. 删除:del key
	127.0.0.1:6379> del username
	(integer) 1
2. 哈希类型(Hash)
1. 存储:hset key field value
	127.0.0.1:6379> hset myhash username lisi
	(integer) 1
	127.0.0.1:6379> hset myhash password 123
	(integer) 1
	
2. 获取: 
	* hget key field:获取指定的field对应的值
		127.0.0.1:6379> hget myhash username
		"zhangsan"
		127.0.0.1:6379> hget myhash password
		"123456"
		
	* hgetall key:获取所有的field和value
		127.0.0.1:6379> hgetall myhash
		1) "username"
		2) "zhangsan"
		3) "password"
		4) "123456"
		
3. 删除:hdel key field
	127.0.0.1:6379> del myhash username
	(integer) 1
	127.0.0.1:6379> del myhash password
	(integer) 0

	为空时,则显示:
	127.0.0.1:6379> hget myhash password
	(nil)
3. 列表类型(LinkList:重复元素):可以添加一个元素到列表的头部(左边)或者尾部(右边)
1. 添加:
	* 1. lpush key value: 将元素加入列表左表
		127.0.0.1:6379> lpush mylist a
		(integer) 1
		127.0.0.1:6379> lpush mylist b
		(integer) 2
	
	* 2. rpush key value:将元素加入列表右边
		127.0.0.1:6379> rpush mylist c
		(integer) 3
		127.0.0.1:6379> rpush mylist d
		(integer) 4
	
2. 获取:lrange key start end :范围获取
	127.0.0.1:6379> lrange mylist 0 -1
	1) "b"
	2) "a"
	3) "c"
	4) "d"
	
3. 删除:
	* lpop key: 删除列表最左边的元素,并将元素返回
		127.0.0.1:6379> lpop mylist
		"b"
		127.0.0.1:6379> lpop mylist
		"a"

	* rpop key: 删除列表最右边的元素,并将元素返回
		127.0.0.1:6379> rpop mylist
		"d"
		127.0.0.1:6379> rpop mylist
		"c"
4. 集合类型(Set:不允许重复元素)
1. 存储:sadd key value
	127.0.0.1:6379> sadd myset a
	(integer) 1
	127.0.0.1:6379> sadd myset a	//不允许重复元素
	(integer) 0
	127.0.0.1:6379> sadd myset b
	(integer) 1
	
2. 获取:smembers key:获取set集合中所有元素
	127.0.0.1:6379> smembers myset
	1) "b"	//元素无序存放(是根据某种规则进行排序,但是程序员无法指定规则,所以相对于程序员来说是无序的)
	2) "a"
	
3. 删除:srem key value:删除set集合中的某个元素	
	127.0.0.1:6379> srem myset a
	(integer) 1
	127.0.0.1:6379> smembers myset
	1) "b"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值