Redis

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

redis的数据结构

1. redis的数据结构:

  • redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构

  • value的数据结构:
    1) 字符串类型 string
    2) 哈希类型 hash : map格式
    3) 列表类型 list : linkedlist格式。支持重复元素
    4) 集合类型 set : 不允许重复元素
    5) 有序集合类型 sortedset:不允许重复元素,且元素有顺序
    在这里插入图片描述

2. 字符串类型 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 age
			(integer) 1

3. 哈希类型 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
				"lisi"
	*  hgetall key:获取所有的field和value
				127.0.0.1:6379> hgetall myhash
				1) "username"
				2) "lisi"
				3) "password"
				4) "123"
				
3. 删除: hdel key field
			127.0.0.1:6379> hdel myhash username
			(integer) 1

4. 列表类型 list:可以添加一个元素到列表的头部(左边)或者尾部(右边)

		1. 添加:
			1. lpush key value: 将元素加入列表左表
				
			2. rpush key value:将元素加入列表右边
				
				127.0.0.1:6379> lpush myList a
				(integer) 1
				127.0.0.1:6379> lpush myList b
				(integer) 2
				127.0.0.1:6379> rpush myList c
				(integer) 3
		2. 获取:
			* lrange key start end :范围获取
				127.0.0.1:6379> lrange myList 0 -1   //获取所有
				1) "b"
				2) "a"
				3) "c"
		3. 删除:
			* lpop key: 删除列表最左边的元素,并将元素返回
			* rpop key : 删除列表最右边的元素,并将元素返回

在这里插入图片描述

5. 集合类型 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
		2. 获取:smembers key:获取set集合中所有元素
			127.0.0.1:6379> smembers myset
			1) "a"
		3. 删除:srem key value:删除set集合中的某个元素	
			127.0.0.1:6379> srem myset a
			(integer) 1

6. 有序集合类型 sortedset:不允许重复元素,且元素有顺序.每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

		1. 存储:zadd key score value
			127.0.0.1:6379> zadd mysort 60 zhangsan
			(integer) 1
			127.0.0.1:6379> zadd mysort 50 lisi
			(integer) 1
			127.0.0.1:6379> zadd mysort 80 wangwu
			(integer) 1
		2. 获取:zrange key start end [withscores]
			127.0.0.1:6379> zrange mysort 0 -1
			1) "lisi"
			2) "zhangsan"
			3) "wangwu"

			127.0.0.1:6379> zrange mysort 0 -1 withscores
			1) "zhangsan"
			2) "60"
			3) "wangwu"
			4) "80"
			5) "lisi"
			6) "500"
		3. 删除:zrem key value
			127.0.0.1:6379> zrem mysort lisi
			(integer) 1

7. 通用命令

		1. keys * : 查询所有的键
		2. type key : 获取键对应的value的类型
		3. del key:删除指定的key value

redis的持久化

1. redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中。

2. redis持久化机制:

1. RDB:默认方式,不需要进行配置,默认就使用这种机制

在一定的间隔时间中,检测key的变化情况,然后持久化数据,并不能保证数据的安全性,因为存在时间间隔,有些数据可能来不及保存

1. 编辑redis.windwos.conf文件
				#   after 900 sec (15 min) if at least 1 key changed
				save 900 1
				#   after 300 sec (5 min) if at least 10 keys changed
				save 300 10
				#   after 60 sec if at least 10000 keys changed
				save 60 10000
2. 重新启动redis服务器,并指定配置文件名称
#启动redis服务器的命令
D:\JavaWeb2018\day23_redis\资料\redis\windows-64\redis-2.8.9>redis-server.exe redis.windows.conf

在这里插入图片描述
在硬盘上生成.rdb文件
在这里插入图片描述

2. AOF:日志记录的方式,可以记录每一条命令的操作。可以每一次命令操作后,持久化数据

1. 编辑redis.windwos.conf文件
				appendonly no(关闭AOF) --> appendonly yes (开启AOF)
				
				# appendfsync always : 每一次操作都进行持久化
				appendfsync everysec : 每隔一秒进行一次持久化
				# appendfsync no	 : 不进行持久化
2. 重新启动redis服务器,并指定配置文件名称
#启动redis服务器的命令
D:\JavaWeb2018\day23_redis\资料\redis\windows-64\redis-2.8.9>redis-server.exe redis.windows.conf

服务器启动后在硬盘上生成.aof文件在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值