redis的使用一

redis和mongodb都是非关系型数据库
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这个方式进入客户端

 

1. 对数据库的操作:
   select 3 //切换到三号数据库
2. 对key的操作:
   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}
   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   //获取某个字段的值
   hgetall person  //获取所有字段名包括值
   hkeys person    //key为person中的所有字段名,获取指定键所有的字段
   hvals person    //获取person中的所有字段的值
   hdel person name age  //删除字段name age
   del person  //删除键person,全部删了
 
  #list:  key——>[value1,value2,value3,...]
   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>  
View Code

 

 

    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> 
View Code

 

 

  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"

 

 
 
 
 
 
 
 
 
 
 
 
posted @ 2020-04-06 21:12  wind_y  阅读(218)  评论(0编辑  收藏  举报