redis的使用一
redis和mongodb都是非关系型数据库
redis是键值数据库:key:value,可基于内存并可持久化的数据结构存储系统,基于内存所以速度较快
redis是键值数据库:key:value,可基于内存并可持久化的数据结构存储系统,基于内存所以速度较快
redis的配置文件里表明 有16个数据库 0~15
Redis控制台中文乱码问题:想get方法获取的是中文,而不是十六进制的ASCII码 unicode编码\xe9\x9d\x92\xe8\x9b\x99\xe7\x8e\x8b\xe5\xad\x90
解决办法: 以redis-cli --raw这个方式进入客户端
Redis控制台中文乱码问题:想get方法获取的是中文,而不是十六进制的ASCII码 unicode编码\xe9\x9d\x92\xe8\x9b\x99\xe7\x8e\x8b\xe5\xad\x90
解决办法: 以redis-cli --raw这个方式进入客户端
1. 对数据库的操作:
select 3 //切换到三号数据库
select 3 //切换到三号数据库
2. 对key的操作:
keys * //查看所有key
3. 数据操作:会自动加上引号的
#对字符串的操作
set one 1 //插入数据
get one //获取键one的值
keys * //查看所有key
3. 数据操作:会自动加上引号的
#对字符串的操作
set one 1 //插入数据
get one //获取键one的值
del one //删除键值对one
flushall //清空所有数据
mset one 1 two 2 three 3 //设置多个数据
mget one two three //获取多个的值
setex one 3 abc //设置过期时间 3秒过期
append one de //在one的值后追加de get one:"abcde"
#hash:存对象的 key——>{field1:value1,field2:value2}
flushall //清空所有数据
mset one 1 two 2 three 3 //设置多个数据
mget one two three //获取多个的值
setex one 3 abc //设置过期时间 3秒过期
append one de //在one的值后追加de get one:"abcde"
#hash:存对象的 key——>{field1:value1,field2:value2}
hash用来存储”键值对“集合:
1.hash中的键可以理解为一个字段field,一个字段field对应一个值value 2.hash中的值value为字符串类型string 3.同一个hash中字段名不可重复
hset key field value
hset person name "张三" //将哈希表 key 为person中的字段 field 为name的值设为张三
hmset person age 14 gender true //设置多个字段
hget person name //获取某个字段的值
hset person name "张三" //将哈希表 key 为person中的字段 field 为name的值设为张三
hmset person age 14 gender true //设置多个字段
hget person name //获取某个字段的值
hgetall person //获取所有字段名包括值
hkeys person //key为person中的所有字段名,获取指定键所有的字段
hvals person //获取person中的所有字段的值
hdel person name age //删除字段name age
hkeys person //key为person中的所有字段名,获取指定键所有的字段
hvals person //获取person中的所有字段的值
hdel person name age //删除字段name age
del person //删除键person,全部删了
#list: key——>[value1,value2,value3,...]
1.增加:push
1.增加:push
127.0.0.1:6379> lpush one 1 //左推 1 127.0.0.1:6379> lpush one 2 2 127.0.0.1:6379> lpush one 3 4 5 5 127.0.0.1:6379> keys * one person 127.0.0.1:6379> lrange one 0 -1 //key为one的list的范围从0到-1的值 5 4 3 2 1 127.0.0.1:6379> rpush two 1 2 3 4 5 //右推 5 127.0.0.1:6379> lrange two 0 -1 1 2 3 4 5 127.0.0.1:6379>
pop:取出并删除
127.0.0.1:6379> lpop one 左删 5 127.0.0.1:6379> lpop one 4 127.0.0.1:6379> rpop one 右删 1 127.0.0.1:6379> rpop one 2 127.0.0.1:6379> rpop one 3 127.0.0.1:6379> rpop one 删没了 127.0.0.1:6379> rpop one 127.0.0.1:6379>
2.根据范围取出 lrange
3.指定位置插入 insert
127.0.0.1:6379> lpush one 1 2 3 3 127.0.0.1:6379> linsert one before 1 'A' //在1之前插入 4 127.0.0.1:6379> linsert one after 1 'B' //在1之后插入 5 127.0.0.1:6379> lrange one 0 -1 3 2 A 1 B 127.0.0.1:6379>
4.单独修改值根据索引
127.0.0.1:6379> flushall OK 127.0.0.1:6379> lpush one a b c d e (integer) 5 127.0.0.1:6379> lset one 2 C OK 127.0.0.1:6379> lrange one 0 -1 1) "e" 2) "d" 3) "C" 4) "b" 5) "a"
5.删除数据 lrem key count 值
count>0 : 从头删count个值为 的数据
count<0 :从尾删
count=0 :符合条件的全部删除
127.0.0.1:6379> flushall OK 127.0.0.1:6379> lpush one 1 2 3 2 4 2 5 (integer) 7 127.0.0.1:6379> lrem one 2 2 (integer) 2 127.0.0.1:6379> lrange one 0 -1 1) "5" 2) "4" 3) "3" 4) "2" 5) "1"