redis
1.概念:redis是一款高性能的NOSQL系列的非关系型数据库
2.操作命令:
1.redis的数据结构:
1.字符串类型:String
2.哈希类型:list :map格式
3.列表类型:list:linkedlist格式,支持重复元素
4.集合类型:set:不允许重复元素
5.有序集合类型 soortedset:不允许重复元素,且元素有顺序
2.字符串类型:string
127.0.0.1:6379> set username zhangsan
OK
127.0.0.1:6379> get username
"zhangsan"
127.0.0.1:6379> set age 23
OK
127.0.0.1:6379> get age
"23"
127.0.0.1:6379> del age 23
(integer) 1
127.0.0.1:6379> get age
(nil)
3.哈希类型:
127.0.0.1:6379> hset myhasg username lisi
(integer) 1
127.0.0.1:6379> hset myhasg password 123
(integer) 1
1) "username"
2) "lisi"
3) "password"
4) "123"
127.0.0.1:6379> hdel myhasg username lisi
(integer) 1
127.0.0.1:6379> hgetall myhasg
1) "password"
2) "123"
4.列表添加 list:可以添加一个元素到列表的左边或右边
1.添加:
1.lpush:添加到左边
2.rpush:添加到右边
2.获取:lrange key start end:范围获取
3.删除:lpop key:删除最左边并返回元素
rpop key:删除最右边元素并返回元素
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
127.0.0.1:6379> lrange mylist 0 1
1) "b"
2) "a"
127.0.0.1:6379> lrange mylist 0 2
1) "b"
2) "a"
3) "c"
127.0.0.1:6379> lpop mylist
"b"
5.集合类型 set:不允许重复元素
1.储存:sadd
2.获取:smembers
3.删除:srem
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 c b d
(integer) 3
127.0.0.1:6379> smembers myset
1) "a"
2) "c"
3) "d"
4) "b"
127.0.0.1:6379> srem myset a
(integer) 1
127.0.0.1:6379> smembers myset
1) "c"
2) "d"
3) "b"
6.有序集合类型 sortedset:不允许重复元素,且元素有顺序
1.储存:zadd ket score value
2.获取:zrange key start end
3.删除:zren key 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
127.0.0.1:6379> zrange mysort 0 -1
1) "lisi"
2) "zhangsan"
3) "wangwu"
127.0.0.1:6379> zrem mysort lisi
(integer) 1
127.0.0.1:6379> zrange mysort 0 -1
1) "zhangsan"
2) "wangwu"
7.通用命令
1.keys *:查询所有键的名称
2.type:查询类型
3.del:删除指定的key
127.0.0.1:6379> key *
(error) ERR unknown command 'key'
127.0.0.1:6379> keys *
1) "name"
2) "mysort"
3) "myhasg"
4) "username"
5) "myset"
6) "mylist"
127.0.0.1:6379> type name
hash
127.0.0.1:6379> del myhasg
(integer) 1
127.0.0.1:6379> keys *
1) "name"
2) "mysort"
3) "username"
4) "myset"
5) "mylist
3.持久化:
1.redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据保存到硬盘的文件中
2.redis的持久化机制:
1.RDB:默认方式,不需要进行配置,默认就使用这种机制
*在一定的间隔时间中,检测key的变化情况,然后持久化数据
2.AOF:日志记录的方式,可以记录每一条命令的操作。可以每一次命令操作后,持久化数据
4.java客户端 jedis
1.导入jar包
2.使用
Jedis jedis =new Jedis("localhost","6379");
jedis.set("username","zhangsan");
jedis.close