Redis数据库

谈起Redis数据库先谈谈MYSQL数据库。为了方便将我们的数据进行持久化的存储,我们通常在项目开发中使用MySQL数据库来保存我们的用户信息等。

一、那什么是NoSQL

Not onle sql (非关系型数据库), NoSQL数据库中数据之间是无联系的,没关系的,数据的结构是松散的
NoSQL的优势 :
大数据量,高性能
NOSQL具有非常高的读写能力
灵活的数据模型
NoSQL 无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式
高可用
低成本
NoSQL也有劣势 不支持标准SQL ,没有索引 没有事务(不能实现实事务的ACID)

由于Redis主要是运行在linux环境中,具体的安装过程这里就不写了
安装Redis后我们一般都会安装一个图形化的界面方便查看redis存储的数据
Redis Desktop Manager
官网地址:https://redisdesktop.com/
关闭linux防火墙 systemctl stop firewalld

二、jedis

jedis是redis的编程客户端
1、ping
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191011101421371.png)
2、查看当前数据库中key的数量  dbsize
返回当前数据库中key的数量
3、数据库之间的切换
	select  xxx    redis默认是16个库 从0 开始计数
4.删除当前库中的数据
		flushdb
5.退出    
	exit  | quit

三、Redis对key的操作命令

	1、显示所有的key
		keys  * 
	2、keys  wo*d 
		匹配所有 wo   开头   d  结尾
	3、keys  wo?d
		?  表示任意一个字符
	4、exists  验证指定的key是否存在
		exists  name  存在返回1  不存在返回0
		exists name  age  sex weight height phone  存在几个返回数字几
	5、expire 设置key的生存时间,超时key自动删除  单位是秒
		expire name 5   指定name  的key生存时间是5s
	6。ttl  查看指定key的剩余生存时间
	-1  无限
	-2 key不存在
	数字  剩余时间(s)

	7、type 查看key对应的value 数据类型
	⚫ none (key 不存在)
	⚫ string (字符串)
	⚫ list (列表)set (集合)
	⚫ zset (有序集)
	⚫ hash (哈希表)
	8、del 删除

四、数据类型操作命令

set name zhangsan
get name 
#将key存储的数字值加1,如果不存在,则key的值先被初始化为0在执行incr,只能对数字类型操作,其它类型报错Err value is not an integer or out of range
incr index
#同incr 将key存储的数字值减1
decr index

#name = zs
#如果可以存在追加到后面  不存在则设置为当前value hello
append name hello
//====================================================================

#name=zhangsan
#返回指定key存储字符串的长度8 , 不存在返回0
1、strlen name
 #获取 key 中字符串值从 start 开始到 end 结束的子字符串,包括 start 和 end, 负数表示从字符串的末尾开始,-1 表示最后一个字符
2、getrange name 0 4
	zhang
#使用value覆盖从offset开始的字符串 ,返回修改之后的字符串长度	
3、setrange name offset value
【例】 setrange name 5 lisi  
修改之后为 zhanglisi  
返回值是 9

#同时设置多个key-value对
4.mset name zhangsan age 22 sex nan phone 1111111111

#mget获取多个key的值
5。mget name age sex 

五、hash类型

hset
	key就是一个hash表 
#hset  
#①如果 field 是 hash 表中新 field,且设置值成功,返回 1
#②如果 field 已经存在,旧值覆盖新值,返回 0	
1、	hset ulist name zhnagsan 
	key ---ulist 是一个List集合
	name 属性  
	zhangsan  name对应的属性值
	
#获取哈希表key中指定域的field 对应的value值
2、hget
	hget ulist name   
 返回 : zhangsan

#同时设置多个
3.hmset	
	hmset ulist name zhangsan age 22 sex nan phone 1111
	
#获取哈希表多个域所对应的值
4、hmget
	hmget ulist name age sex
	
#获取哈希表所有域以及所对应的值	,以列表形式返回
5.hgetall
	hgetall ulist 
返回:	
		name 
		zhangsan 
		age
		22
		sex 
		nan	
	
#删除多个域所对应的值	
#返回成功删除的数量 , 不存在的忽略
6.hdel 
 	hdel ulist name age sex

#查看所有filed域 	
7.hkeys
 	hkeys ulist  

#查看所有域中的值
8.hvals
	hvals ulist	

#查看哈希表 key 中,给定域 field 是否存在
	#存在返回1 ,其它返回0
9.hexists
hexists ulist name

六、list

key 是一个list集合,list集合的特性,有序可重复

#讲一个或多个值插入到表头,从左到右顺序依次插入
#返回新列表的长度
1、lpust
	lpush ulist a  b  c
	
#将一个或多个值value	插入到列表 key 的表尾,各个 value 值按从左到右的顺序依次插入到表尾
#返回 新列表的长度
2、rpush
	rpush ulist a b  c
	
#获取列表key指定的区间长度	  -1表示最后一个
3、lrange
	lrange  ulist 0 1

#获取下标为index的元素	  【注意】 起始下标是从0开始
4、lindex

#获取列表长度
5、llen

6、lrem
lrem ulist 2 name 从左往右开始移除2个与name相等的元素
lrem ulist -2 name  从尾部开始移除2个与name相等的元素
lrem ulist 0 name 移除所有name 元素

#j将列表key下标为index 的元素值设置为value
7、lset
	lset ulist 2 lisi

#将value插入到列表key指定值的前面后者后面  before  钱苗苗  fater  后面
8、linsert
	linsert ulist before name phone
	将phone插入到name的前面
	

七、set

无序不可重复 key表示一个set集合

#可以添加一个或多个添加元素 
1.sadd
	sadd uSet zhangsan 22 nan  11111
	
#获取集合key中所有成员元素	
2、smembers
	smembers uSet

#检验是否是集合元素 是返回1 ,其它返回0
3. sismember 
	 sismember uSet name

#获取集合中元素的个数  返回一个数字 ,如果集合不存在返回0
4.scard
	scard uSet   

#删除多个集合元素 返回一个数字 表示删除几个
5. sren
	srem uSet name age phone

#随即返回一个元素
#count可以指定数量 如果是负数,返回的集合中元素可能重复
6.srandmember key [count[]
    srandmember uSet 

#随机删除,count可以指定数量 ,集合如果不存在返回nil
7.spop
	spon uSet 

八、有序集合zset

1.添加元素 返回新添加元素的个数
	zadd uset  60 zs 70 lisi 80 ww 90 zl
	
#查询有序集合,指定区间内的元素,按照score值  **从小到大排序**	
#从0开始  -1表示最后一个元素
#后面如果添加	withscores表示带score返回
2.zrange
	zrange uSet 0 -1

#**从大到小排序**
3、zrevrange

#删除有序集合的一个或多个元素
#返回成功删除的数量
4.zrem
	zrem uSet name age sex

#获取有序集合的成员个数 返回integer
5.zcard 
	zcard uSet

以上就是jedis的常用命令

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值